Django:反向查找feeds的URL?
我在做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/
。
目前,我正在使用一种变通的方法来为模板生成这个URL:
<a href="http://{{ request.META.HTTP_HOST }}/feeds/latest">RSS feeds</a>
但是,正如你所看到的,这显然不符合DRY原则(不要重复自己)。我是不是漏掉了什么?
2 个回答
3
很遗憾,目前的内容提要框架无法实现URL反向解析。不过好消息是,这个框架已经彻底重构,可以和Django的URL解析机制无缝对接。这个重构后的内容提要框架将在Django 1.2版本中发布,预计会在四月底上线。你可以在文档中了解更多信息,或者阅读Rob Hudson在DjangoAdvent上写的一篇精彩文章。
1
你正在使用关键字参数,所以应该像这样传递它们 :)
试试这个:
<a href="{% url feeds_view url="latest" %}">RSS feeds</a>