Flask笔记

这篇博客详细介绍了Flask框架的使用,包括HTTP协议、URL路由、参数传递、JSON响应、自定义状态码、上下文对象、应用上下文、扩展包如SQLAlchemy和Flask-Mail的使用,以及模板和宏、蓝图等高级特性。通过实例展示了如何操作数据库、发送邮件以及使用模板继承等。
摘要由CSDN通过智能技术生成

官方文档: http://flask.pocoo.org/docs/0.11/
中文文档: http://docs.jinkan.org/docs/flask/

HTTP协议:

  1. 请求
    • 请求行
    • 请求头
    • 请求体
  2. 响应
    • 响应行

      • HTTP / 1.1 200 OK

      • 响应状态:

      • 200:响应成功
      • 302:重定向
      • 304:资源未更新
      • 404:资源不存在
      • 500:服务器内部错误

  • 键值对:说明

​ Content-Type:文件类型 text/html image/jpeg application/json text/xml

  • 响应体
1.定义正则:
1.导包
from werkzeug.routing import BaseConverter
2.创建正则类,重写__init__方法,并调用父类方法
class XXXX(BaseConverter):
    def __init__(self, url_map, *args):                                                              super(XXXX,self).__init__(url_map)
        self.regex = args[0]
3.添加至app
# 创建Flask对象
app = Flask(__name__)
app.url_map.converters['re'] = XXXX
# 视图入口
if __name__ == "__main__":
    app.run(debug=True)  # 调试模式
2.传参
  • 在@app.route(‘/<>’)路由中添加可变参数: <id>
  • 规定参数类型:<int:id>
  • 引用正则:<re('[a-z]'):id>
3.返回JSON数据
  1. 导入json数据包
  2. 调用返回:json.jumps(json-data)
4.状态码
def ret():
    return 'data',  200
# 抛出异常,404代表异常类型
def abort_test();
    abort(404)
    return 'data'  # 可以返回字符串,Flask自动封装为响应对象
自定义状态码视图
@app.errorhandler(500)  # 注册状态码处理函数
def error_test(value):
    return '服务器忙...'
5.上下文对象(request.response)
  1. request

  2. sesion

  3. current_app

  4. g

    (response)

Flask 封装request和response为全局对象

request方法:

方法 解释
args 一个包含解析过的查询字符串( URL 中问号后的部分)内容的 MultiDict
form 一个包含解析过的从 POST 或 PUT 请求发送的表单对象的 MultiDict 。请注意上传的文件不会在这里,而是在 files 属性中
value 一个包含 form 和 args 全部内容的 CombinedMultiDict
cookies 一个包含请求中传送的所有 cookie 内容的 dict
headers 进入请求的标头存为一个类似字典的对象
files 一个包含 POST 和 PUT 请求中上传的文件的 MultiDict. 包含save()方法
method 当前请求的 HTTP 方法
如下参考完整url信息 http://www.example.com/myapplication/page.html?x=y
path /page.html
script_root /myapplication
base_url http://www.example.com/myapplication/page.html
url http://www.example.com/myapplication/page.html?x=y
url_root http://www.example.com/myapplication/

response方法:

方法 解释
headers Headers 对象用于设置响应的头信息
status 用于设置响应状态描述
status_code 整数,用于设置响应状态码
mimetype 用于设置响应的MIME类型
set_cookie() 设置cookie

示例:

response = make_response('显示文字')  # 创建response对象
response.set_cookie(key, value)  # 设置cookie

request.headers.get('User-Agent')  # 获取请求头中内容

session['key'] = value  # 设置session
session.<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值