【问题标题】:Django: reverse lookup URL of feeds?Django:提要的反向查找URL?
【发布时间】:2011-02-05 23:36:45
【问题描述】:

我在为 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。有什么我遗漏的吗?

【问题讨论】:

    标签: python django django-templates django-urls


    【解决方案1】:

    不幸的是,当前的提要框架实际上无法实现 URL 反转。好消息是,Feed 框架已经完全重构,可以与 Django 的 URL 解析机制无缝集成。这个重构的提要框架将与 Django 1.2 一起交付,它应该到达end of April。你可以在docsgreat article DjangoAdvent 上的 Rob Hudson 中阅读它。

    【讨论】:

      【解决方案2】:

      你正在使用关键字参数,所以你应该这样传递它们:) 试试这个:

      <a href="{% url feeds_view url="latest" %}">RSS feeds</a>
      

      【讨论】:

        猜你喜欢
        • 2017-08-03
        • 1970-01-01
        • 2013-08-18
        • 2011-10-01
        • 2014-02-16
        • 2018-10-15
        • 1970-01-01
        • 1970-01-01
        • 2011-03-22
        相关资源
        最近更新 更多