我遇到了一些错误,试图将我的django网站投入Apache生产。最终得到mod_wsgi排序和Apache至少看起来试图加载网站我在主页无法加载时看到调试细节中的一些令人困惑的问题。
当我使用python manage.py runserver 10.10.10.214:8080
启动网站时,这些错误都不会出现 - 它可以100%正常工作
from x import y
- 由于某种原因,它只允许我from x import *
示例#from django.conf.urls import patterns, include, url
发出错误 - 我必须更改为{{1} } from django.conf.urls.defaults import *
user_id在独立模式下运行良好。Cannot resolve keyword 'user_id' into field. Choices are: end_date, id, singleDate, start_date, user
之类的错误,我通过在settings.py中注释TemplateSyntaxError: Caught ImportError while rendering: No module named staticfiles
来懒得绕过它。不用说,这没有解决任何问题几乎感觉这些文件是在独立的基础上处理的,而不是在django框架内。以前有没有人经历过这种出牙问题?我愚蠢地认为我可以插上。我有一种(没有根据的)乐观的感觉,它必须只是某个文件中的指令。
干杯,亚瑟
答案 0 :(得分:6)
您确定目标系统安装了相同版本的Django吗?
mod_wsgi甚至是为你想要使用的Python版本编译的吗?这是一个常见的错误,人们不会意识到mod_wsgi实际上是针对不同的Python版本,因此不使用与您期望的相同的Python安装,因此使用不同版本的软件包。
关于权限错误,这是因为默认情况下,在Apache下运行的代码作为Apache用户运行。它不具有与手动运行时相同的访问权限。您还必须小心假设过程的工作目录是什么。
为了尝试解决问题,最好在开发环境中尝试使用mod_wsgi-express。这样,开发环境就更接近目标系统。