Jwt

  • 不要安装jwt的包,安装pyjwt
  • pip install urllib3==1.26.7

路由自动追加/

  • 在 Chrome 开发者工具 Network 选项卡可以发现,实际上 Flask 实现这种机制的原理就是采用重定向。如果访问末尾不带斜线的 URL 路径 http://127.0.0.1:5000/hello,Flask 会自动返回 308 状态码,重定向到带斜线的 URL 路径 http://127.0.0.1:5000/hello/
  • 以此来实现只需要绑定一个路由 @app.route(’/hello/’) 即可同时支持 URL 路径末尾带斜线或不带斜线。

cli

import click
from flask import Flask

app = Flask(__name__)

@app.cli.command('add')
@click.option('--email', default='email', help='Email address')
@click.option('--password', default='password', help='Password')
def hello(email, password):
    """打印 Hello World!"""
    print(f"Hello World! {email} {password}")

if __name__ == '__main__':
    app.run()
(venv) PS C:\B-code\mus\api> flask.exe --app test:app add --email uu@163.com --password password
Hello World! uu@163.com password

类视图装饰器顺序

decorators

  • 范围:在这下面定义的装饰器会应用到所有方法
  • 顺序:若有[a, b],那么b会先执行

在方法上添加

范围:对当前方法生效

顺序:在方法之上添加的装饰器,都在decorator之后执行

@custom_decorator_first  # 在最上层的最先执行
@custom_decorator_second
def put(self):