Django插入Apache不像Django独立工作

Art*_*r M 0 python apache django mod-wsgi

我遇到了一大堆错误,试图将我的django网站用Apache生产.最终得到mod_wsgi排序和Apache至少看起来试图加载网站我看到主页无法加载时调试细节中的一些令人困惑的问题.

当我使用python manage.py runserver 10.10.10.214:8080它启动网站时,这些错误都不会出现- 它以这种方式100%正常工作

  1. 导入错误 - 我不能from x import y- 由于某种原因它只允许我这样做from x import *一个例子是#from django.conf.urls import patterns, include, url错误的 - 我不得不改为from django.conf.urls.defaults import *
  2. 权限错误 - 例如,我必须chmod之前工作正常的DB文件.我想没什么大不了的,但我只是想知道为什么
  3. 数据库字段错误:Cannot resolve keyword 'user_id' into field. Choices are: end_date, id, singleDate, start_date, useruser_id在独立模式下工作正常.
  4. Apache日志给出了错误TemplateSyntaxError: Caught ImportError while rendering: No module named staticfiles,我只是通过django.contrib.staticfiles在settings.py中注释掉而懒洋洋地绕过它.不用说,这没有解决任何问题

几乎感觉这些文件是在独立的基础上处理的,而不是在django框架内.以前有没有人经历过这种出牙问题?我愚蠢地认为我可以插上.我有一种(毫无根据的)乐观的感觉它必须只是某个文件中的指令.

干杯,亚瑟

Gra*_*ton 6

你确定目标系统安装了相同版本的Django吗?

mod_wsgi甚至是为你想要使用的Python版本编译的吗?这是一个常见的错误,人们没有意识到mod_wsgi实际上是针对不同的Python版本,因此不使用与您期望的相同的Python安装,因此使用不同版本的软件包.

至于权限错误,这是因为在Apache下运行的代码默认以Apache用户身份运行.它不具有与手动运行时相同的访问权限.您还必须谨慎地假设流程的工作目录是什么.

为了尝试解决问题,最好在开发环境中尝试使用mod_wsgi-express.这样,开发环境更接近目标系统.