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