我遇到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,视图本身就可以工作。
我真的不知道从哪里来看这一点。
知道可能导致这种情况发生的原因吗?谢谢!
答案 0 :(得分:1)
使用参数'()'
反转''home''
您似乎在没有{% url 'home' %}
的模板中执行了{% load url from future %}
。这可以解释为什么django双单引号''home''
。就像你在做reverse("'home'")
一样。