我一直在开发使用WSGI部署在Apache服务器上的Django Web应用程序,并且一切进展顺利。今天,我对应用程序进行了一些较小的更改admin.py,以尝试自定义内置的Django Admin界面,并且最初出现了语法错误(括号未封闭)。这意味着当我触摸wsgi.py并加载代码时(我的虚拟主机上的WSGI以守护程序模式运行),我的网站被内部服务器错误替换,因为WSGI遇到语法错误时就停止了。因此,我更正了语法错误,并检查了我是否再也没有了manage.py check,并wsgi.py尝试重新部署。但是我的网站仍然显示内部服务器错误!检查Apache日志,第一系列错误显示WSGI因my语法错误而失败admin.py。但是,第二系列错误似乎显示了Django内部的错误:RuntimeError: populate() isn't reentrant从populate方法抛出registry.py。谷歌搜索此错误消息返回的信息少得令人惊讶,Django文档中没有这些信息。显然,如果您在中两次命名应用程序,有时可能会发生这种情况settings.py,但我没有这么做。更重要的是,settings.py自网站运行正常以来,我一直没有改变-我唯一改变的是admin.py。我尝试还原所做的所有更改,因此我所有的Python代码都恢复到网站正常运行的状态- populate() isn't reentrant当我尝试使WSGI重新加载代码时,仍然出现错误!我还尝试在的INSTALLED_APPS部分中注释掉不同的应用程序settings.py,即使仅启用了django.contrib.staticfiles,该错误仍然会发生。奇怪的是,即使我注释掉所有应用程序,我仍然会收到错误消息-Django 即使未加载任何应用程序也会抛出错误!有人知道这是怎么回事吗?还是因为Apache日志中的回溯对您没有任何帮助,所以我可以用哪种更好的方法来调试此错误?注意:我使用的是Django 1.7,Apache 2.2和Python 2.7。
3 回答
- 3 回答
- 0 关注
- 1409 浏览
添加回答
举报
0/150
提交
取消