2013-07-02 49 views
1

我使用Flask編寫Web應用程序,我想知道使用url_for在模板和應用程序代碼中生成鏈接的原因。爲什麼使用`url_for`?

我該怎麼做這個增益:

<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}"> 

這:

<ul> 
    <li><a href="{{ url_for('index') }}">Home</a></li> 
    <li><a href="{{ url_for('about') }}">About Us</a></li> 
    <li><a href="{{ url_for('contact') }}">Contact</a></li> 
</ul> 

而不是硬編碼的路徑?

回答

5

flask documentation

flask.url_for(端點,**值)

生成URL與所提供的方法中的給定的端點。

目標端點未知的變量參數 作爲查詢參數附加到生成的URL。如果查詢參數 的值爲無,則整個對將被跳過。如果藍圖 處於活動狀態,則可以使用點(。)在本地端點前添加 作爲對同一藍圖的引用。

這將引用索引功能當地當前的藍圖:(「指數」)

url_for

現在,而不是指定靜態網址到達終點的,可以使用url_for哪些對端點進行反向匹配。

當您有可能要在運行時指定的參數時,它特別有用。

{{ url_for('static', filename='css/main.css') }} 

你可以有filename='...')在運行時動態計算。

進一步擴展它,

external=True 

選項中啓用重定向

相關問題