flask路由
- application对象的add_url_rule()函数也可用于将URL与函数绑定
flask变量规则-URL中添加
- 变量部分标记为<variable-name>
- Flask的URL规则基于Werkzeug的路由模块,确保形成的URL是唯一的
flask URL构建
- url_for():用于动态构建特定函数的URL
http方法
- 该协议定义了从指定URL检索数据的不同方法
方法 | 描述 |
---|---|
GET | 以未加密的形式将数据发送到服务器 |
HEAD | 和GET方法相同,但没有响应体 |
POST | 用于将HTML表单数据发送到服务器。POST方法接收的数据不由服务器缓存 |
PUT | 用上传的内容替换目标资源的所有当前表示 |
DELETE | 删除由URL给出的目标资源的所有当前表示 |
- 默认情况下,Flask路由响应GET请求,但可使用route()提供的方法参数来更改此首选项
flask 模板
- 视图函数的两个作用:一是处理业务逻辑,二是返回响应内容
- 模板其实是一个包含响应文本的文件,使用占位符。
- 渲染:使用真实值替换变量,再返回最终得到的字符串的过程,
- Flask使用Jinja2模板引擎来渲染模板
- 使用模板的好处:视图函数只负责业务逻辑和数据处理(业务逻辑方面),而模板则取到视图函数的数据结果进行展示(视图展示方面),代码结构清晰,耦合度低。
flask静态文件
- 将在应用程序的/static中提供
- 特殊端点‘static’用于生成静态文件的URL
Flask Request对象
重要属性
- Form:一个字典对象,包含表单参数及其值的键值对
- args:解析查询字符串的内容,它是问号之后的URL的一部分
- Cookies:保存Cookie名称和值的字典对象
- files:与上传文件有关的数据
- method:当前请求方法
将表单数据发送到模板
- 触发函数接收的Form数据可以以字典对象的形式收集它并将其转发到模板,然后再相应的网页上呈现它。
flask cookie
- Cookie以文本文件的形式存储在客户端的计算机上,目的是记住和跟踪与客户使用相关的数据。
- Request对象包含cookie属性,是所有cookie变量及其对应值的字典对象,客户端已传输。
- 处理步骤为:设置cookie -> 获取cookie -> 删除cookie,让cookie过期,不是直接删除
flask session
- session数据存储在服务器上
- 会话是客户端登录到服务器并注销服务器的时间间隔
- Session对象也是一个字典对象,包含会话变量和关联值的键值对
重定向和错误
- redirect函数:返回一个响应对象,并将用户重定向到具有指定状态代码的另一个目标位置
- 带有错误代码的abort函数
消息闪现
- 提供了一个非常简单的方法来使用闪现系统向用户反馈信息。闪现系统使得在一个请求结束的时候记录一个信息,并且在下次(且仅在下一次中)请求时访问它。
- 使用flash方法来实现
flask常用扩展包
- Flask-SQLalchemy:操作数据库;
- Flask-script:插入脚本;
- Flask-migrate:管理迁移数据库;
- Flask-Session:Session存储方式指定;
- Flask-WTF:表单;
- Flask-Mail:邮件;
- Flask-Bable:提供国际化和本地化支持,翻译;
- Flask-Login:认证用户状态;
- Flask-OpenID:认证;
- Flask-RESTful:开发REST API的工具;
- Flask-Bootstrap:集成前端Twitter Bootstrap框架;
- Flask-Moment:本地化日期和时间;
- Flask-Admin:简单而可扩展的管理接口的框架