Django множественная проблема установки - PullRequest
1 голос
/ 28 января 2010

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 изображения есть.

Ответы [ 3 ]

0 голосов
/ 11 февраля 2010

Я предлагаю вам использовать два разных виртуальных хоста для двух разных поддоменов.

Субдомен 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>
0 голосов
/ 12 февраля 2010

Это была проблема сессий / файлов cookie. Добавлен SESSION_COOKIE_DOMAIN в settings.py с поддоменом, похоже, теперь работает нормально.

0 голосов
/ 08 февраля 2010

1) Обратите внимание, что вы загружаете не "default.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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...