Vous n'êtes pas identifié(e).
Bonjour,
débutant en Django, je rencontre un problème lors du déploiement d'une application.
Je m'explique : il s'agit de gérer les stages étudiants dans mon IUT, ceux-ci avec une application et un modèle de données identique à chacun des départements mais une base différenciée.
Actuellement je procède en duplicant totalement l'arborescence du projet : ainsi pour 2 départements "GEII" et "GMP" je crée 2 projets du même nom qui sont parfaitement identiques à la ligne "DATABASE_NAME" de leur fichier "settings.py" prêt.
Il me reste alors à dupliquer également la ligne correspondante de ma configuration "apache" :
WSGIScriptAlias /GEII /var/www/django/GEII.wsgi
WSGIScriptAlias /GMP /var/www/django/GMP.wsgi
pour que l'ensemble fonctionne.
Malheureusement ce n'est pas un fonctionnement très "DRY" :-(
Est-il possible de faire mieux ?
En vous remerciant par avance,
cordialement.
Hors ligne
A priori, il te suffit de créer un fichier settings.py par projet.
Ensuite dans ta configuration, tu spécifies le fichier settings à charger pour tel nom de domaine.
Exemple :
GEII.wsgi
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'stages.settings_geii'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
GMP.wsgi
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'stages.settings_gmp'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Tu peux même faire hériter settings_gmp.py et settings_geii.py du même fichier settings.py comme ceci :
# -*- coding: utf-8 -*-
from stages.settings import *
# Ici tu surcharges les variables que tu veux modifier
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'stages_geii',
'USER': 'stages_user',
'PASSWORD': 'stages_pwd',
'HOST': '',
'PORT': '',
}
}
Comme cela, pas de copier/coller.
Dernière modification par Rémy HUBSCHER (18-01-2011 11:16:13)
Hors ligne
Le 18/01/2011 11:15, Rémy HUBSCHER a écrit :
> Tu peux même faire hériter settings_gmp.py et settings_geii.py du même
> fichier settings.py comme ceci :
Merci beaucoup, ça marche !
Cordialement.
Hors ligne
Bonjour,
Le 18/01/2011 11:15, Rémy HUBSCHER a écrit :
> Tu peux même faire hériter settings_gmp.py et settings_geii.py du même
> fichier settings.py comme ceci :
Merci beaucoup ça marche !
Cordialement.
Hors ligne
Bonjour,
Je me réveille tardivement, excusez-moi...
Curieusement, je pensais au framework Site de Django [1]. Convient-il à
ton problème, Yves ? Qu'en pensez-vous "les autres" ?
[1] http://docs.djangoproject.com/en/dev/ref/contrib/sites/
Hors ligne
Bonjour,
Le 20/02/2011 12:10, werefr0g a écrit :
> Curieusement, je pensais au framework Site de Django [1]. Convient-il à ton problème, Yves ? Qu'en pensez-vous "les autres" ?
Dans le cas que j'avais exposé, non, car mes différents départements ne partagent aucune données entre eux, mais j'ai une autre application à "migrer" où ça devrait m'être utile !
Cordialement.
Hors ligne