django在windows上用apache+mod_python部署小问题

本文解决了一个使用Django框架的小型项目在Windows环境下部署时遇到的问题,包括找不到settings的原因及解决办法、权限设置、mod_python异常处理及Apache配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前段时间用django作了个小项目,交付测试时必须在windows上部署。遇到过如下问题:
1,bnu.settings等找不到
原因是没有加路径

PythonPath "['D:/workspace/NewSite','D:/workspace/NewSite/bnu','D:/server/python24/Lib/site-packages/django']


2,拒绝访问
原因是没有设置访问权限

<Directory "D:/workspace/NewSite/bnu/media/">
Order Deny,Allow
Allow from all
</Directory>



3,在测试server里面正常,在mod_python里面异常
原因:以前用了一些print语句,mod_python不能正常处理,去掉调试语句

def navtree(request):
lang = request.session.get('django_language', 'zh')
navbar = get_navtree(request.user, lang)
print request.path #这罗要去掉


我现在的apache配置文件最好加上了:


LoadModule python_module modules/mod_python.so

<Location "/">
SetHandler python-program
PythonPath "['D:/workspace/NewSite','D:/workspace/NewSite/bnu','D:/server/python24/Lib/site-packages/django'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE bnu.settings_apache
PythonDebug On
</Location>


Alias /media D:/workspace/NewSite/bnu/media
<Location "/media/">
SetHandler None
</Location>

<LocationMatch "\.(jpg|gif|png|css|js)$">
SetHandler None
</LocationMatch>

<Directory "D:/workspace/NewSite/bnu/media/">
Order Deny,Allow
Allow from all
</Directory>

测试时仍然建议设置DEBUG = True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值