【问题标题】:Django 1.5 NoReverseMatch at /blog/Django 1.5 NoReverseMatch 在 /blog/
【发布时间】:2013-03-14 18:34:11
【问题描述】:

在 Django 1.5 中,我的页面可以正常工作,直到我尝试使用 {% url %} 来显示链接。我已经阅读了一些 Django 文档并查看了 Stack Overflow,但我的项目无法正常工作。

有人看到我在这里做错了吗?

我遇到的错误

NoReverseMatch at /blog/
Reverse for 'single' with arguments '(1,)' and keyword arguments '{}' not found.

urls.py

urlpatterns = patterns('',
    url(r'^$', blog, name = 'blog'),
    url(r'^(?P<id>(\d+))/$', single, name = 'single')
)

blog.html

<a href="{% url 'single' o.id %}">Read More</a>

解决方案

解决方案

解决方案

就是那个愚蠢的分号!

<a href="{% url 'blog:single' o.id %}">Read More</a> 

urlpatterns = patterns('',
    url(r'^$', blog, name = 'blog'),
    url(r'^(?P<id>\d+)/$', single, name = 'single')   
)

【问题讨论】:

  • 你试过不带括号吗?:url(r'^(?P&lt;id&gt;\d+)/$', single, name = 'single')?
  • 对于{% url 'blog' %} 有效吗?
  • 它们都不起作用,这不起作用:url(r'^$', blog, name = 'blog')&lt;a href="{% url 'blog.blog' %}"&gt;Read More&lt;/a&gt;
  • &lt;a href="{% url 'single' o.id %}"&gt;Read More&lt;/a&gt; 给我Reverse for 'single' with arguments '(1,)' and keyword arguments '{}' not found.

标签: django


【解决方案1】:

试试:

urlpatterns = patterns('',
    url(r'^(?P<id>\d+)/$', single, name='single')
    url(r'^$', blog, name='blog')
)

在这种情况下,您不需要在模式 \d+ 周围加上括号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2014-01-06
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多