flask中路由,實例化配置,對象配置,特殊裝飾器
1.Flask 中的路由
*endpoint - url_for 反向地址
*endpoint 默認是視圖函數名
*methods 指定視圖函數的請求方式,默認GET
defaults={"nid":1} 指定視圖函數的默認參數
strict_slashes=False 是否嚴格遵循路由規則 /login/
redirect_to="/login" 永久跳轉地址 301
*動態路由參數:
/<int:nid> /<string:str> /<nid>
視圖函數中需要有參數接收動態路由參數
2.Flask中的實例化配置
*template_folder = "temp" # template模板目錄, 默認當前項目中的 templates 目錄
*static_folder = "jingtaiwenjianmulu" 目錄
*static_url_path = "/static" 訪問路徑
static_host =
host_matching = False, # 如果不是特別需要的話,慎用,否則所有的route 都需要host=""的參數
subdomain_matching = False, # 理論上來說是用來限制SERVER_NAME子域名的,但是目前還沒有感覺出來區別在哪裏
instance_path = None, # 指向另一個Flask實例的路徑
instance_relative_config = False # 是否加載另一個實例的配置
root_path = None # 主模塊所在的目錄的絕對路徑,默認項目目錄
3.app對象配置
app.config.from_object(Debug)
class Debug(object):
DEBUG=True
4.藍圖 Blueprint
form flask import Blueprint
blue = Blueprint("blue_id",__name__,url_prefix)
url_prefix 前綴
app.register_blueprint(blue)
5.特殊裝飾器:
@app.template_global()
@app.template_filter()
@app.before_request
請求進入視圖函數之前
@app.after_request
def af1(response)
return response
結束視圖函數之後,返回客戶端之前
正常:be1 - be2 - be3 - af3 - af2 - af1
異常:be1 - af3 - af2 - af1
@app.errorhandler(404) 重定義頁面
def error404(args):
flask中路由,實例化配置,對象配置,特殊裝飾器