Flask学习框架回顾-视图
基本认识:框架核心和特点
- 特点:轻量级,简洁,扩展性强。
- 核心:werkzeug和jinja2
虚拟环境:创建命令
- mkvirtualenv - p python3 虚拟环境名称
- workon/rmvirtualenv 虚拟环境名称 (进入虚拟环境)/deactivate(退出虚拟环境
- 依赖包:pip freeze > requiremntst.txt 生成依赖文件
- 安装依赖包:pip install -r requirementst.txt
基本程序:
- __name__参数的作用式确定程序所在的位置;
- 启动服务器,在开发模式下开启调试模式;
- 装饰器路由。@app.route('')第一个参数必须以斜线开始,methods可以指定请求方法
配置文件加载:
- app.config.form_object('')
- 加载对象/建议使用,扩展性强,根据不同的环境,使用不同模式的配置
- app.config.form_pyfile('')
- 加载配置问价
- app.config.from_envvar('')
- j 加载环境变量
返回数据:
- 重定向
- redirect和url_for,建议使用url_for,应为接受参数为视图函数,扩展性更强
- 返回json
- json模块dumos 把字典转成json字符串
- 建议使用josnify 修改响应的Content-Type:为application/json
- JSON.stringify() 把对象转成json
- JSON。parse() 把json转成对象
- 状态码
- 自定义的状态码:实现前后端的数据交互
- abort函数:只能抛出符合http协议的状态码,异常处理,一般用来实现自定义的错误信息,@app.errorhandler(500)
状态保持:
- cookie
- 基于键值对的字符串,存储在客户端浏览器中,不安全,max_age设置过期事件
- session
- 存储在服务器中,客户端存储的相当于键,相对安全
请求钩子:
- 在执行前;
- before_first_request 在第一次请求前执行(一般对数据库的一些检擦
只有一次性调用,只有第一次才会被调用) - before_request 在每次请求前执行(可以检查用户是否登陆
只要return后面的路由将不会执行)
- before_first_request 在第一次请求前执行(一般对数据库的一些检擦
- 在执行后;
- after_request 没有异常情况下,每次请求后执行,接受响应对象作为参数(response)
- teardown_request在每次请求后执行,接收异常信息作为参数;
上下文:
- 请求上下文;
- request和session:request封装了客户端请求的参数信息,session封装了用户信息
- 应用上下文:
- current_app:保存程序运行过程中配置信息,加载的全局变量等源码内容,可以用来记录项目日志
- g对象:临时存储信息
request:常用属性
- args/form/cookie/file/headers/method/data
- args查询字符串:url中问号后面,以等号传值,以&号分隔的是查询字符串;
http://www.baidu.com/?a=1&b=2
flask_script扩展包
- 在终端以命令的形式启动项目,在终端可以手动传入ip和port启动项目
- 数据库的迁移,配合Migrate实现
#输出响应结果,所有的键构成⼀个列表,如果没有键则返回空列表