代码改变世界

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"


然后:

PythonHandler django.core.handlers.modpython
# 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>

 

 

配置admin的media同理。