2010-08-04 102 views
5

我一直在尋找幾個小時來嘗試解決這個問題,並且好像從來沒有人在線提供過一個示例 - 我剛剛創建了一個Django 1.2 rss feed視圖對象並將其附加到一個url。當我訪問url時,一切都很好,所以我知道我的feed類的實現是可以的。如何反轉django feed url?

順利的是,我無法弄清楚如何鏈接到我的模板中的網址。我可以硬編碼,但我寧願使用{%URL%}

我已經試過路過的完整路徑,像這樣:

{% url app_name.lib.feeds.LatestPosts blog_name=name %} 

,我什麼也沒得到。我一直在尋找,似乎每個人都有一個明顯的解決方案,不值得在線發佈。我剛剛過得太久了嗎?

這裏是培訓相關URL模式:

from app.lib.feeds import LatestPosts 

urlpatterns = patterns('app.blog.views', 
    (r'^rss/(?P<blog_name>[A-Za-z0-9]+)/$', LatestPosts()), 
    #snip... 
) 

感謝您的幫助。

+0

你是什麼urlpattern的樣子? – 2010-08-04 03:37:36

+0

已更新,以添加urlpatterns, – pivotal 2010-08-04 03:50:00

回答

6

您可以name your url pattern,這需要使用url輔助功能:

from django.conf.urls.defaults import url, patterns 

urlpatterns = patterns('app.blog.views', 
    url(r'^rss/(?P<blog_name>[A-Za-z0-9]+)/$', LatestPosts(), name='latest-posts'), 
    #snip... 
) 

然後,你可以簡單地在你的模板中使用{% url latest-posts blog_name="myblog" %}

+1

不應該在url標記中包含blog_name參數嗎? – 2010-08-04 07:37:43

+0

Aww廢話我想我太晚了。我嘗試命名它,但在URL輔助函數上失敗。隨着參數的添加,這個工作。謝謝! – pivotal 2010-08-04 13:59:35

+0

@Mark van Lent:你說得對,我更新了答案。 – 2010-08-05 22:31:05