2011-01-07 53 views
0

我以为同样的机制可以用于开发服务器和Apache作为我的Web服务器,但我目前真的很困惑。django应用程序在开发服务器上工作,但我得到404上的Apache

我可以同时使用Django开发服务器访问的URL如下

__http://devserver/my_application/ 

当我转我的Web服务器Apache的,我得到的Django 404错误的所有URLs.py条目。

试图访问__http:// devserver /返回以下

Using the URLconf defined in antrum.urls, Django tried these URL patterns, in this order: 
^my_application/$ 
^my_application/?page=(?P<page>\d+) 
^my_application/new 
^my_application/(?P<candidate_id>\d+)/$ 
^my_application/(?P<candidate_id>\d+)/update/$ 
^my_application/(?P<candidate_id>\d+)/delete/$ 
^my_application/search/$ 
^admin/doc/ 
^admin/ 
The current URL, , didn't match any of these. 

尝试访问http://devserver/my_application/结果如下输出

{'path': u'my_application/'} 

我可能做一个蹩脚的错误,但不能得到现在看到。我可能缺少什么来检查?

这里是我的Apache配置

<Location "/"> 
    SetHandler python-program 
    PythonHandler django.core.handlers.modpython 
    SetEnv DJANGO_SETTINGS_MODULE project.settings 
    PythonOption django.root/
    PythonDebug On 
    PythonPath "['/home/user/','/home/user/project/'] + sys.path" 
</Location> 

<Location "/media/"> 
    SetHandler None 
</Location> 

这里是我的发现:

  • 切换到manage.py的runserver解决我的问题
  • Apache的error.log中没有入口
  • 当我为pythonpath设置环境变量并使用python CLI,我可以访问我的模型,这也是恕我直言,离开python路径选项关闭此
  • __http:// devserver/my_application之和__http:// devserver/my_appTYPO给出了不同的相同的错误消息{u'path“:...}输出
+0

Apache日志中有什么? – 2011-01-07 04:24:52

+0

error.log似乎干净>> [Thu Jan 06 19:48:52 2011] [notice] mod_python:using mutex_directory/tmp [Thu Jan 06 19:48:52 2011] [notice] Apache/2.2.16(Ubuntu )mod_python/3.3.1 Python/2.6.6配置 - 恢复正常操作 – 2011-01-07 04:26:42

+0

access.log似乎也很干净,我看到我的GET请求 – 2011-01-07 04:27:29

回答

1

安装在网站根目录时,不要设置django.root变量。这应该只在挂载到子URL时使用。

1

尝试使用mod_wsgi的,而不是modpython的。如果你有相同的问题,然后修改你的意见,特别是HttpResponse对象(mimetype参数)。无论如何,在Django 1.3发布之后,modpython将不再受支持,我认为永远留下modpython是更好的主意

相关问题