让django提供不同的设置文件&基于子域的数据库。虚拟主机条目手动添加到apache。
目前有两个具有不同数据库的子域。第一个工作正常,第二个没有显示任何CSS /图像。
Apache配置为,有两个
<VirtualHost *:80>
ServerName test.domain.com
ServerAlias test.domain.com
DocumentRoot /var/www/site/
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE site.settings.test
PythonDebug On
PythonPath "['/var/www/site/'] + sys.path"
</location>
<location "/public/media">
SetHandler None
</location>
<location "/public/admin_media">
SetHandler None
</location>
<location "/static">
SetHandler None
</location>
</VirtualHost>
显示css / images问题的子域内容位于/ public / media文件夹中。如果直接通过http://test.domain.com/public/media/images/image.jpg访问,则图片就在那里。
答案 0 :(得分:0)
1)请注意,您没有加载默认的“settings.py”,而是“settings / test.py”。
SetEnv DJANGO_SETTINGS_MODULE site.settings.test
所以也许应该是:
SetEnv DJANGO_SETTINGS_MODULE site.settings
或
SetEnv DJANGO_SETTINGS_MODULE site.settings.production
2)确保你有这个,无论你的设置文件是什么:
DEBUG = False
MEDIA_URL = "/public/media"
ADMIN_MEDIA_PREFIX = "/public/admin_media"
答案 1 :(得分:0)
我建议你为两个不同的子域使用两个不同的虚拟主机。
子域名test1.domain.com ServerName test1.domain.com
DocumentRoot /var/www/site/
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE site.settings.test
PythonDebug On
PythonPath "['/var/www/site/'] + sys.path"
</location>
<location "/public/media">
SetHandler None
</location>
<location "/public/admin_media">
SetHandler None
</location>
<location "/static">
SetHandler None
</location>
</VirtualHost>
子域名test2.domain.com ServerName test2.domain.com
DocumentRoot /var/www/site/
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE site.settings.test
PythonDebug On
PythonPath "['/var/www/site/'] + sys.path"
</location>
<location "/public/media">
SetHandler None
</location>
<location "/public/admin_media">
SetHandler None
</location>
<location "/static">
SetHandler None
</location>
</VirtualHost>
答案 2 :(得分:0)
这是会话/ cookie问题。将SESSION_COOKIE_DOMAIN添加到带子域名的settings.py,现在似乎工作正常。