zoukankan      html  css  js  c++  java
  • 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实现

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

  • 相关阅读:
    web知识共享网站
    Javascript模拟多线程
    让mssql查询的参数大小写区分
    asp.net导出excel文件方法之一
    对生活迷茫时,可以看的小说..
    解决SWFUpload在Chrome、Firefox浏览器下session找不到的问题
    fckeditor在ie9无法上传图片和弹出浮层内容不显示的解决方法
    一个javascript文件上传组件.
    css属性之媒体(Media)类型
    前端问题汇总
  • 原文地址:https://www.cnblogs.com/Xingtxx/p/9427594.html
Copyright © 2011-2022 走看看