【问题标题】:How to reverse django feed url?如何反转 django feed url?
【发布时间】:2010-08-04 03:22:43
【问题描述】:

我一直在寻找几个小时来试图弄清楚这一点,似乎没有人在网上放过一个例子——我刚刚创建了一个 Django 1.2 rss 提要视图对象并将其附加到一个 url。当我访问 url 时,一切正常,所以我知道我的 feed 类的实现是好的。

问题是,我不知道如何链接到模板中的网址。我可以硬编码,但我更愿意使用 {% url %}

我试过像这样传递完整路径:

{% url app_name.lib.feeds.LatestPosts blog_name=name %}

我什么也得不到。我一直在搜索,似乎其他人都有一个如此明显的解决方案,不值得在网上发布。我是不是起床太久了?

这里是相关的 url 模式:

from app.lib.feeds import LatestPosts

urlpatterns = patterns('app.blog.views',
    (r'^rss/(?P<blog_name>[A-Za-z0-9]+)/$', LatestPosts()),
    #snip...
)

感谢您的帮助。

【问题讨论】:

  • 你的 urlpattern 是什么样的?
  • 更新添加了 urlpatterns,

标签: python django rss django-syndication


【解决方案1】:

你可以name your url pattern,这需要使用url辅助函数:

from django.conf.urls.defaults import url, patterns

urlpatterns = patterns('app.blog.views',
    url(r'^rss/(?P<blog_name>[A-Za-z0-9]+)/$', LatestPosts(), name='latest-posts'),
    #snip...
)

然后,您只需在模板中使用{% url latest-posts blog_name="myblog" %}

【讨论】:

  • 你不应该在 url 标签中包含 blog_name 参数吗?
  • 噢,废话,我想我起得太晚了。我尝试命名它,但在 url helper 函数上失败了。通过添加参数,这可以工作。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-28
  • 1970-01-01
  • 2020-07-07
  • 2012-05-18
  • 1970-01-01
  • 1970-01-01
  • 2012-01-04
相关资源
最近更新 更多