115 flask的路由, 藍圖, flask例項配置, flask物件配置, 特殊裝飾器
阿新 • • 發佈:2018-12-17
主要內容:
1 flask路由:
a : endpoing的講解:https://www.cnblogs.com/mikellxy1990/p/8439228.html
b: endpoint:預設是檢視函式名, 當請求到來的時候, 會先通過rule找到endpoint, 然後再根據endpoint找到對應的view_func.實際上endpoint就是一個identifier, 每一個檢視都是一個endpoint,當有請求到的時候,用來知道是哪一個檢視函式.
c : 注意: flask是通過endpoint找到檢視函式, 並不是通過路由找到的;url_for(end_point)而不是(路由)
2 flask中的例項化配置
http://www.cnblogs.com/songxuexiang/p/9507707.html static_folder = 'static', # 靜態檔案目錄的路徑 預設當前專案中的static目錄 static_url_path = None, # 靜態檔案目錄的url路徑 預設不寫是與static_folder同名,遠端靜態檔案時複用 template_folder = 'templates' # template模板目錄, 預設當前專案中的 templates 目錄 static_url_path主要用於改變url的path的,靜態檔案放在static下面,所以正常情況url是static/filename ,但是可以通過static_url_path來改變這個url static_folder主要是用來改變url的目錄的,預設是static,可以通過這個變數來改變靜態檔案目錄。 要是專案是前後端分離的話,那這裡的配置也就沒影響了。
3 app物件配置
a : 自定義一個py檔案:
class Debug(object): DEBUG = True SECRET_KEY = "jin" SESSION_COOKIE_NAME = "jin's session" class Testing(object): TESTING = True SECRET_KEY = "yinwangba" SESSION_COOKIE_NAME = "yinwangba's session" class XianShang(object): SECRET_KEY = "KingEight" SESSION_COOKIE_NAME = "CSRF_TOKEN"
b : 在app.py檔案中匯入: importsetting, app.config.from_object(setting.Debug)
4 藍圖 blueprint
form flask import Blueprint blue = Blueprint("blue_id",__name__,url_prefix) url_prefix 字首 在app.py檔案中註冊藍圖 app.register_blueprint(blue)
5 特殊裝飾器:
@app.template_global() @app.template_filter()
相當於django中的中介軟體, 但有一點是不同的: 就是如果before_request有一個停止, 對應的respnse,所有的都要執行, 而不是這一個. @app.before_request 請求進入檢視函式之前 @app.after_request def af1(response) return response 結束檢視函式之後,返回客戶端之前