要在 Flask 的 Jinja2 樣板中取得網址的內容,包含路徑或變數,可以透過 request 就能取得,比如說有一個網址長這樣:
http://yourdomain.com/category/page?id=3
可以在 Jinja2 的樣板像這樣取得網址: {{ request.url }} 會得到完整的網址 http://yourdomain.com/category/page?id=3
而網址的各部份可以參考以下方法取得:
request.method: GET request.url: http://yourdomain.com/category/page?id=3 request.base_url: http://yourdomain.com/category/page request.url_charset: utf-8 request.url_root: http://yourdomain.com/ str(request.url_rule): /category/page request.host_url: http://yourdomain.com/ request.host: yourdomain.com request.script_root: request.path: /category/page request.full_path: /category/page?id=3 request.args: ImmutableMultiDict([('id', '3')]) request.args.get('id'): 3
要在樣板裡判斷網址的資訊區分顯示不同的內容可以像這樣寫:
{% if(request.path=="sth") %}
your content here
{% endif %}