要在 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 %}