django - NoReverseMatch at / url / - 奇怪的问题

时间:2014-10-06 10:07:47

标签: python django

我被困在这件事上。

urls.py

print 'test before'
urlpatterns = patterns('horoscopes.views',
  url(r'^$', 'index', name="index"),
  url(r'^(?P<sign_name>\w+)/(?P<sign_num>\d+)/$', 'horoscope_detail', name="horoscope_detail"),
)
print 'test after'

HTML

<a href="{% trans 'Capricorn' as capri %}{% url 'horoscope_detail' capri 0 %}">
    Capri
</a>

views.py

def horoscope_detail(request, sign_name, sign_num):
   # ...

我一直在接受:

  

反向“#horoscope_detail&#39;有参数&#39;(你&#39;摩羯座&#39;,0)&#39;和   关键字参数&#39; {}&#39;未找到。尝试了0种模式:[]

正在打印"test before""test after"

我在这里做错了什么? regexp似乎是正确的,但真的令人困惑..

1 个答案:

答案 0 :(得分:1)

正如此处所述的 Django CMS 文档:http://docs.django-cms.org/en/2.4.2/extending_cms/app_integration.html#application-and-instance-namespaces,需要指定app命名空间才能成功撤销网址。所以这样的事情应该有效:

{% url 'myapp_name:horoscope_detail' capri 0 %}