Django内部服务器错误
我刚开始接触这个,遇到了一些问题。为什么在我运行命令 python manage.py runserver 的时候,Django没有报错,但当我通过网页访问时却出现了“内部服务器错误”?我还有另一个项目,显示的是“恭喜你,成功创建了你的第一个Django页面”,但这个项目也出现了同样的问题,使用的也是同一个 .wsgi 文件。
直到我尝试在 massivecoupon 项目中安装这个脚本时,才遇到了“内部服务器错误”:
http://github.com/coulix/Massive-Coupon---Open-source-groupon-clone
更新:
我在 settings.py 文件中把 Debug 设置为 True,现在我收到了 Django 的错误信息:
ViewDoesNotExist at / 无法导入 massivecoupon.engine.views。错误是:没有名为 libs 的模块
3 个回答
首先,检查一下Apache的错误日志。如果在Apache的错误日志里没有任何信息,那可能是因为你的代码或者Django在处理请求时出现了内部错误。你可以在Django的网站设置文件里把DEBUG设置为True,然后重启Apache,这样浏览器里就会显示出错误的详细信息。
简单来说:检查一下你的apache/tomcat的access.log和error.log日志文件。
接下来,之前提到的另一个问题链接可能是不同的情况,但我建议你也看看以下几点:
你的
PYTHONPATH
可能没有包含你的项目目录,或者你的DJANGO_SETTINGS_MODULE
可能没有包含 'mysite.website',至少从apache的角度来看。apache运行你网站时所用的用户需要正确设置这些,比如在它的.profile
文件中。如果你使用的是mod_python
,那么这些设置需要在.htaccess
或者apache的httpd.conf
文件中。如果你使用的是mod_wsgi
,那么这些信息需要在wsgi的设置文件中,比如passenger_wsgi.py
或类似的文件中,这样apache的模块才能找到。
接下来:
- 检查一下apache运行你的django网站的用户是否能访问所需的文件
- 确保这个用户能访问你的数据库
- 确保这个用户能访问数据库的设置和密码
- 确保你设置了
SITE_ID=1
- 确保你在数据库中添加了 一个站点记录
你可以在命令行中使用
[user]$ python manage.py check
祝好