2010-08-04 41 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