2010-01-28 3 views
1

Django servant différents fichiers de paramètres & base de données basée sur des sous-domaines. Les entrées de l'hôte virtuel sont ajoutées manuellement à Apache.Problème d'installation multiple django

Il existe actuellement deux sous-domaines avec des bases de données différentes. Le premier fonctionne bien, le second n'affiche pas de css/images.

configuration Apache est aussi, il y en a deux

<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> 

Le contenu de sous-domaine ayant des problèmes avec l'affichage des images/css, sont dans/dossier public/médias. Si vous y accédez directement via http://test.domain.com/public/media/images/image.jpg, les images sont là.

+1

C'est une terrible question. Vous ne montrez aucune de vos configurations pour nous aider à déboguer le problème. Dans tous les cas, le service des ressources est un problème de configuration d'Apache, qui appartient à serverfault.com. –

+0

La configuration d'Apache est ajoutée. – bocca

+0

Veuillez indiquer au moins le chemin pour les images/css manquantes et la configuration pour apache. il est assez difficile d'imaginer/deviner ce que l'auteur voulait demander .. – bluszcz

Répondre

0

Il était la session/problème de cookie. SESSION_COOKIE_DOMAIN ajouté à settings.py avec sous-domaine, semble fonctionner correctement maintenant.

0

1) Notez que vous ne chargez pas le fichier "settings.py" par défaut, mais "settings/test.py".

SetEnv DJANGO_SETTINGS_MODULE site.settings.test 

Alors peut-être qu'il devrait être:

SetEnv DJANGO_SETTINGS_MODULE site.settings 

ou

SetEnv DJANGO_SETTINGS_MODULE site.settings.production 

2) Assurez-vous que vous avez ce, quel que soit votre fichier de paramètres est:

DEBUG = False 
MEDIA_URL = "/public/media" 
ADMIN_MEDIA_PREFIX = "/public/admin_media" 
0

Je suggère que vous utilisez deux virtualhosts différents pour les deux différents sous-domaines.

Subdomain 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> 

Subdomain 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>