flask --- 01 .初始

一. 四种web框架比较

    Django :
    优点 - 大而全所有组件都是有组织内部开发高度定制化 教科书级别的框架 
    缺点 - 大到浪费资源,请求的时候需要的资源较高
    
    Flask ;
    优势 - 小而精,组件只有Session,第三方机构强烈支持Flask,非常多的三方组件 简单至极
    缺陷 - 由于三方组件的关系 稳定性相对较差 Flask-Session 
    
    Tornado :
    优势 - 异步IO 非阻塞 原生WebSocket
    缺陷 - 组件 == 0 关于异步的不好理解 Debug难上加难 
    
    Sanic :
    优势 - 异步IO 非阻塞 原生WebSocket + 小而精,组件只有Session,第三方机构强烈支持Flask,非常多的三方组件
    缺陷 - 复杂度


扩展知识:
QPS = 请求每秒钟的次数 QPS == 10
时间片 cpu 工作一次的时间单位
py 假线程 - 1个核心
真线程 - 4个核心 - 四个线程

 

二.Flask 的启动

  1.三行启动 flask

    from flask import Flask
    app = Flask(__name__)
    app.run()

 

  2.六行启动 Flask   "hello"

    from flask import Flask
    app = Flask(__name__)
    @app.route("/")
    def index():
        return "hello"
    app.run()

 

 

 三.Flask 的响应

  ①return "hello"        直接返回字符串

  ②return render_template("login.html")

        返回 .html文件

  ③return redircet("/login")

        重定向,返回路径

  ④ return send_file("文件路径")

    打开并返回文件内容,并在响应头中加入

    content-Type:文件格式和 content-Length:文件大小(bytes)

  ⑤ return jsonify({k:v})

    返回一个客户端可以识别的 json 格式字符串,并在响应头

    中加入  content-Type: application/json

 

 四.Flask 的请求

需要引入模块:(request是一个公共变量)
	from flask import request     

  ①  request.args    获取url 中的数据

  ②  request.form    获取 FormData 中的数据

    print(request.form.to_dict())    以字典形式 获取所有

 

  ③  request.values  获取 args+form 数据(不常用)

  ④  request.data  (数据流) 请求体中放入原始数据

  ⑤  request.json   (字典)   获取请求头中带有

    content-type:application/json 将请求体中的数据反序列化到 json中

    但在 data 中依然存储原始数据bytes

  ⑥ request.files   获取FormData 中的文件数据

          request.files.get('my_file')

   request.files.save(默认提交的文件名)

  

  ⑦  request.method    获取请求方式

 

五. template 调为 jinja2 模式

  1.常用方法

jinja2的常用语法

  {{ }} 引用 执行函数

  {% %} 逻辑代码

字典的三种调用方式:

 

 

 

 

   2.扩展

    ① 调用函数 

   在 .py 文件中

 

   在  .html 文件中调用

 

 

     显示结果为:

7

 

  ②  添加全局

    在.py 文件中

    在.html 中调用

 

  结果为

7

 

   ③ macro   (相当于 函数def)

 

 

 六. Flask 中的session

  ① 需要调用

from flask import session

 

   ②加密

app.secret_key = "序列化Session需要的字符串儿"

 

 

 

 

 

 

 

 七.装饰器

 

posted @ 2019-04-09 17:08  TNTsc  阅读(175)  评论(0编辑  收藏  举报