2010-04-09 113 views
2

我在爲Django生成的Feed執行反向URL查找時遇到問題。Django:供稿的反向查找網址?

我在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/

現在,我使用的是黑客來生成模板的網址:

<a href="http://{{ request.META.HTTP_HOST }}/feeds/latest">RSS feeds</a> 

但是,正如你所看到的,這顯然是不幹燥。有什麼我失蹤?

回答

1

您使用關鍵字參數,所以你應該把它們傳遞這樣:) 試試這個:

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

不幸的是,URL倒車是不是真的有可能與目前的飼料框架。好消息是,Feed框架已經完全重構,可以與Django的URL解析機制無縫集成。這個重構後的feed框架將與Django 1.2一起交付,它應該到達end of April。你可以在docsgreat article上閱讀Rob Hudson的文章DjangoAdvent

+0

偉大的文章。謝謝。但是,下面的建議起作用。 – Santa 2010-04-09 09:08:12