我无法为Django生成的Feed执行反向URL查找。
我在urls.py
中有以下设置:
feeds = {
'latest': LatestEntries,
}
urlpatterns = patterns('',
# ...
# enable feeds (RSS)
url(r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed',
{'feed_dict': feeds}, name='feeds_view'),
)
我尝试使用以下模板标记:
<a href="{% url feeds_view latest %}">RSS feeds</a>
但结果链接不是想要的(http://my.domain.com/feeds//
)。它应该是http://my.domain.com/feeds/latest/
。
目前,我正在使用hack生成模板的URL:
<a href="http://{{ request.META.HTTP_HOST }}/feeds/latest">RSS feeds</a>
但是,正如你所看到的,显然不是DRY。有什么我想念的吗?
答案 0 :(得分:3)
不幸的是,使用当前的feed框架实际上不可能进行URL反转。好消息是feed框架已经完全重构,可以与Django的URL解析机制无缝集成。这个重构的feed框架将随Django 1.2一起提供,它应该到达end of April。您可以在docs或great article中通过Rob Hudson在DjangoAdvent上阅读。
答案 1 :(得分:1)
你正在使用关键字参数,所以你应该这样传递它们:) 试试这个:
<a href="{% url feeds_view url="latest" %}">RSS feeds</a>