2013-10-09 60 views
1

在Django模板中,我試圖在使用url函數之後立即使用urlize篩選器,該函數正在生成一個url並隨後生成其標記<a>如何在模板的url函數上使用urlize過濾器?

不幸的是,使用(url myview)|urlize和類似實驗的各種嘗試都沒有奏效。關於如何將這些作品拼湊在一起以使作品發揮作用的任何想法?

謝謝!

回答

2

您需要的URL分配給一個變量,像這樣:

{% url "myview" as my_url %} 
{{ my_url|urlize }} 

您也可以只使用{% filter %}來完成相同操作,而不先指定:

{% filter urlize %}{% url "myview" %}{% endfilter %} 

有了上面的海報,做任何這些都沒有多大意義。爲什麼不只是創建超鏈接本身,而不是依賴過濾器從URL轉換爲超鏈接?

<a href="{% url "myview" %}">{% url "myview" %}</a> 
3

這不是urlize的用途。它用於在文本塊內搜索URL並將其轉換爲可點擊的鏈接。該{% url %}的結果甚至沒有像那樣的一個環節,因爲它是一個相對鏈接(如/index/而不是www.example.com/index),以及文檔是非常具體什麼urlize查找:

此模板標籤適用於前綴爲http://https://www.的鏈接。

不知道爲什麼你會無論如何想要它:它是微不足道的自己定義的鏈接:

This is my link: <a href="{% url 'myview' %}">My view</a> 
+0

嗨,謝謝你的提示。你知道有什麼方法從視圖名稱中自動創建鏈接嗎?因爲這就是我想要的,使用urlize過濾器的自動化。 – fstab

相關問題