生产中的Django反向URL中断

时间:2012-10-23 13:05:57

标签: django url django-templates django-views production-environment

我遇到Reverse for 'home' with arguments '()' and keyword arguments '{}' not found.这种情况发生在一个不带参数的视图中,并且在模板中带引号和不带引号的情况下命名。它只发生在我的生产服务器上,而不是我的开发环境。两者都运行Django 1.4。

我在顶级urls.py中的无参数视图中有以下条目。

url(r'^course_catalog/', include('course_catalog.urls')),

course_catalog/urls.py

urlpatterns = patterns('course_catalog.views',
    url(r'^$', 'index', name="home"),
    ...

我还有几个模板中的以下内容

<a href="{% url home %}">

我也在manage.py shell中试过这个:

>>> from django.core.urlresolvers import reverse
>>> reverse('home')
'/course_catalog/'

所以它似乎只发生在提供模板或其他东西时。 顺便说一句,如果我导航到URL,视图本身就可以工作。

我真的不知道从哪里来看这一点。

知道可能导致这种情况发生的原因吗?谢谢!

1 个答案:

答案 0 :(得分:1)

  

使用参数'()'

反转''home''

您似乎在没有{% url 'home' %}的模板中执行了{% load url from future %}。这可以解释为什么django双单引号''home''。就像你在做reverse("'home'")一样。