我正在运行Reverse for 'home' with arguments '()' and keyword arguments '{}' not found.
对于不带参数且名称为模板中带有和不带引号的视图,会出现这种情况。它只发生在我的生产服务器上,而不是我的开发环境。两者都运行Django 1.4。Django在生产中的反向URL中断
我有我的顶级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
壳试过这种下列内容:
>>> from django.core.urlresolvers import reverse
>>> reverse('home')
'/course_catalog/'
所以它似乎只发生在服务模板或什么的时候。 顺便说一下,如果我浏览到URL,视图本身就可以工作。
我真的不知道该在哪里看这一点。
任何想法可能导致这种情况发生?谢谢!
WSGI部署不能影响这个吗? (不同的Python路径比壳,脚本别名路径,...) – che
我想我已经正确设置的东西,因为如果我注释掉URL查找,网站将加载。但是我对WSGI和相关技术的经验很少,所以我错了!什么样的设置会给他们不同的路径? –
我认为当你运行manage.py shell时,你的当前目录是项目dir,这意味着Python会找到你的WSGI Python路径设置中可能无法发现的模块。这可能与你所经历的事情有关,也可能不会。我尝试的另一件事实际上是通过'django.template.loader.render_to_string'在您的python shell中渲染模板。 – che