Django内部服务器错误

2 投票
3 回答
41088 浏览
提问于 2025-04-16 01:36

我刚开始接触这个,遇到了一些问题。为什么在我运行命令 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 个回答

0

首先,检查一下Apache的错误日志。如果在Apache的错误日志里没有任何信息,那可能是因为你的代码或者Django在处理请求时出现了内部错误。你可以在Django的网站设置文件里把DEBUG设置为True,然后重启Apache,这样浏览器里就会显示出错误的详细信息。

7

简单来说:检查一下你的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
  • 确保你在数据库中添加了 一个站点记录
11

你可以在命令行中使用


    [user]$ python manage.py check

祝好

撰写回答