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后面的路由将不会执行)
  •   在执行后;
    •   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实现

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 #输出响应结果,所有的键构成⼀个列表,如果没有键则返回空列表

 

posted @ 2018-08-05 22:18  Xingtxx  阅读(170)  评论(0编辑  收藏  举报