之前有提過我們可以透過路由(route)把變數傳到樣版(template)去,但如果有一些變數是全站要用的,每次都要把值帶進每個路由就會滿麻煩的,這時我們可以使用 context_processor 來幫助我們把變數預設就帶進去。
首先在 app 物件建立之後,透過他使用 context_processor
app = Flask(__name__,template_folder='templates') @app.context_processor
接著像這樣寫,帶入你要用到全站的變數:
@app.context_processor def site_content(): name="我的網站" return dict(name=name)
然後就可以在樣版裡直接使用了,不用每次都在路由裡重新帶入:
{{ name }}
打開網頁就會看到
我的網站
也可以透過 Dictionary 帶入讓變數更好管理。