Django-fr

Forum

#1 18-01-2011 11:04:03

Yves Bourhis
Membre
Inscription : 18-01-2011
Messages : 26

Pb. de duplication d'application...

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

#2 18-01-2011 11:15:42

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : Pb. de duplication d'application...

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

#3 18-01-2011 15:12:44

Yves Bourhis
Membre
Inscription : 18-01-2011
Messages : 26

Re : Pb. de duplication d'application...

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

#4 20-01-2011 12:47:49

Yves Bourhis
Membre
Inscription : 18-01-2011
Messages : 26

Re : Pb. de duplication d'application...

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

#5 20-02-2011 12:10:22

werefr0g
Membre
Inscription : 09-09-2010
Messages : 23

Re : Pb. de duplication d'application...

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

#6 21-02-2011 11:34:37

Yves Bourhis
Membre
Inscription : 18-01-2011
Messages : 26

Re : Pb. de duplication d'application...

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

Pied de page des forums