1.Flask中的路由:
endpoint: 反向URL from falsk import url_for
endpoint 默认视图函数名
url_for("endpoint")
methods: 允许访问该视图函数的请求方式 可迭代对象["GET","POST"]
defaults={"nid":1} #默认参数
strict_slashes=True # 是否严格要求路由地址 "/"
redirect_to="/detail" # 请求层面的重定向 301
@app.route("/login/<nid>",methods=["GET","POST"],endpoint="login")
动态路由参数
def login(nid):
pass
2.Flask实例化配置:
template_folder="temps" 修改默认模板路径
static_folder="statics" 静态文件访问目录
static_url_path="/static" 静态文件访问路径URL
默认 = "/" +static_folder
3.Flask配置:
secret_key 用于序列化
debug
testing 用于测试环境
app.config.from_object 使用对象配置
4.蓝图 BluePrint
app01 = Blueprint("app01",__name__,
template_folder="temps",
static_folder="sta",
url_prefix="/app01") #url_prefix 蓝图前缀
app.register_blueprint(app01.app01) # 注册蓝图
5.特殊装饰器:
@app.template_global() # 全局函数
@app.template_filter() # 带筛选的全局函数 偏函数
@app.before_request # 在请求进入视图函数之前
@app.after_request # 在请求返回客户端之前
正常情况 :be1 - be2 - af2 - af1
异常情况 : be1 - af2 - af1
@app.errorheadler(404) # 更改报错页面,可返回页面
6.Flash
@app.before_first_request
def fr():
flash(fr) # 在Flash存储信息
get_flashed_messages() # 获取Flash中的信息 并清空
大体执行流程:
[] - flash(fr) - [fr] - get_flashed_messages()=[fr].pop - fr() - []