1.Flask:
    from flask import Flask
    app = Flask(__name__)
    # 从源码中可以看出,Flask集成的run方法是由werkzeug中的run_simple方法提供的。
    app.run() # run_simple(host,port,obj_or_func())
    obj() 对象加括号相当于调用 __call__() 方法

2.简单路由
    @app.route("/index",methods=["GET","POST"])
    def index(){
        return
    }
    默认GET请求,如果改写了methods,GET一定要加上

3.flask 中的返回值:
    左边是django,右边是flask

    HttpResponse  == return "OK!"
    render == render_template
    redirect == redirect

    return send_file() # 将一个文件打开,然后返回文件内容


4.request:
    request
    form:POST中的FormData数据存放在form(字典) 通过字典的方式去取值
    args:URL参数存放在args(字典) 通过字典的方式去取值
    values: url + FormData .to_dict()同名key url覆盖Formdata
    data: 当 content-type:None 也就是无法处理时,将数据存放在data中 并且以b"{k:v}"形式存储,是bytes类型
    json: 当 content-type:application/json 数据以Json放存放

5.Flask Jinja2
    {{}} 非逻辑
    {%%} 包含逻辑

    {% for i in a %}
    {% endfor %}

    {% if True %}
    {% endif %}

    前端:| safe :安全标签字符串儿
    后端: Markup(tag) :安全标签字符串儿

    @app.template_global() # 定义模板全局函数
    def func():
        return 1+1

    前端:
    {{ func() }}

    @app.template_filter() # 定义模板全局函数,类似偏函数
    def func(a):
        return a

    前端:
    {{ 1 | func() }}

    extends 模板继承
    include 加载模板

    宏定义:很少用
    {% macro func(ty , na) %}
        <input type="{{ ty }}" name="{{ na }}" >
    {% endmacro %}
    调用:
    func("text","username")


6.flask 中的 session
    app.secret_key = "alex DSB"
    session 序列化一个加密字符串,存在前端的cookie。它的键名就是session
    当发起请求的时候,将字符串发送到后端反序列化,拿出存放在服务器端的session
    session["key"] = "value" # 就是字典

    注意:cookie存储在浏览器中,session存储在服务器中。
    cookie相当于钥匙,session相当于银行保险柜!
View Code

相关文章: