Django在使用mod_python+apache中配置VirtualHost的问题总结
2008-09-08 18:24 Jaypei 阅读(739) 评论(1) 编辑 收藏 举报配置Django
先装好mod_python,然后LoadModule:
LoadModule python_module modules/mod_python.so
然后设置PythonPath:
# django/project/path是项目的根目录,比如存在X:/django/mysite/setting.py文件,此目录应该设置X:/django而不是X:/django/mysite,也不能写成X:/django/
PythonPath "['/django/project/path'] + sys.path"
PythonPath "['/django/project/path'] + sys.path"
然后:
PythonHandler django.core.handlers.modpython
# mysite是project的名字
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonAutoReload Off
PythonDebug On
# 这个目录需要设置,以免外层设置了DocumentRoot中有 rewrite
DocumentRoot "/project/path"
# mysite是project的名字
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonAutoReload Off
PythonDebug On
# 这个目录需要设置,以免外层设置了DocumentRoot中有 rewrite
DocumentRoot "/project/path"
配置media
urls.py中如果使用了mysite.extlibs.static.serve,最好改为:
# Debug URLs
if settings.DEBUG:
urlpatterns += patterns('',
(r'^my_media/(?P<path>.*)$', 'mysite.extlibs.static.serve',
{'document_root': './media/', "show_indexes": True}),
)
在Apache中配置这个目录。
Alias /mymedia "media绝对路径"
<Directory "media绝对路径">
AllowOverride None
Options Indexes FollowSymLinks Includes
Order allow,deny
Allow from all
</Directory>
<Location "/mymedia/">
SetHandler None
</Location>
<Directory "media绝对路径">
AllowOverride None
Options Indexes FollowSymLinks Includes
Order allow,deny
Allow from all
</Directory>
<Location "/mymedia/">
SetHandler None
</Location>
配置admin的media同理。