我在为 Django 生成的提要执行反向 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。有什么我想念的吗?
请您参考如下方法:
不幸的是,当前的提要框架无法实现 URL 反向。好消息是 feed 框架已经完全重构,可以与 Django 的 URL 解析机制无缝集成。这个重构的 feed 框架将与 Django 1.2 一起交付,它应该到达 end of April。 .您可以在 docs 中阅读它或者在 great article作者:罗伯· hudson (Rob Hudson) DjangoAdvent .
