Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django反向URL在生产中中断_Django_Url_Django Templates_Django Views_Production Environment - Fatal编程技术网

Django反向URL在生产中中断

Django反向URL在生产中中断,django,url,django-templates,django-views,production-environment,Django,Url,Django Templates,Django Views,Production Environment,我遇到了参数为“()”且关键字参数为“{}”的“home”的反转。对于不带参数且已命名的视图,在模板中有引号和无引号时都会出现这种情况。它只发生在我的生产服务器上,而不是在我的开发环境中。两者都运行Django 1.4 在我的顶层urls.py中有以下无参数视图条目 url(r'^course_catalog/', include('course_catalog.urls')), 在课程目录/url.py中: urlpatterns = patterns('course_catalog.vie

我遇到了参数为“()”且关键字参数为“{}”的“home”的
反转。
对于不带参数且已命名的视图,在模板中有引号和无引号时都会出现这种情况。它只发生在我的生产服务器上,而不是在我的开发环境中。两者都运行Django 1.4

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

url(r'^course_catalog/', include('course_catalog.urls')),
课程目录/url.py
中:

urlpatterns = patterns('course_catalog.views',
    url(r'^$', 'index', name="home"),
    ...
我还有以下几个模板

<a href="{% url home %}">
因此,它似乎只有在提供模板时才会发生。 顺便说一下,如果我导航到URL,视图本身就可以工作

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

知道是什么导致了这一切吗?谢谢

带参数“()”的“主”的反转


似乎您在一个没有
{%load url from future%}
的模板中执行
{%url'home%}
。这就解释了为什么django双单引号
“home”
。例如,如果您正在执行
反向(“home”)

WSGI部署不会影响这一点吗?(不同于shell中的Python路径,脚本别名路径,…)我想我已经正确设置好了,因为如果我注释掉URL查找,站点将加载。但我对WSGI和相关技术的经验很少,所以很有可能我错了!什么样的设置会为它们提供不同的路径?我认为当您运行manage.py shell时,您当前的目录是project dir,这意味着Python将在您的WSGI Python路径设置中找到可能无法发现的模块。这可能与你的经历有关,也可能与你的经历无关。我要尝试的另一件事是在python shell中通过
django.template.loader.render_to_string
.Hmm实际呈现模板。以这种方式渲染模板效果良好。所以我想这暗示了路径问题?嗯,这是我现在唯一能想到的:-)你可以尝试添加
import sys;sys.path.append('/path/to/project/dir')
到WSGI文件的开头。哎呀,我编辑了我的问题以反映模板行中的更改,但忘了更新错误。它显示了我现在得到的实际错误。我最初有这个错误,并使用引号,但我放弃了它,回到了straight 1.4,试图简化事情并找到错误。
>>> from django.core.urlresolvers import reverse
>>> reverse('home')
'/course_catalog/'