Django-fr

Forum

#1 10-08-2012 09:21:37

DuanHua
Membre
Inscription : 10-08-2012
Messages : 6

Organisation d'un projet Django

Bonjour a tous,

Je debute avec Django et -apres avoir ecumer les tutoriaux et articles- je souhaiterais me lancer dans la creation de mon site.

Mon idée est de creer une plateforme de blog ou chaque utilisateur pourra beneficier d'un blog, d'un agenda publique visible sur sa page. Rien d'original, c'est vraiment dans le but d'apprendre.

Je desire separer mon code par application. Je pensais donc au model suivant :
- Une application gerant les blogs.
- Une application gerant l'agenda.

Une application agenda serait donc automatiquement créer lors de la creation d'un blog.

Cependant, tout les tutoriaux que j'ai trouvé ne se base que sur l'utilisation d'une seule application.

Comment faire pour communiquer entre differentes application?

Merci d'avance smile

Hors ligne

#2 10-08-2012 09:37:53

DuanHua
Membre
Inscription : 10-08-2012
Messages : 6

Re : Organisation d'un projet Django

Bon comme toujours, en exposant le probleme j'ai trouvé une solution.
Mon fichier models.py de mon app Blog ressemble à :

...
from agenda.models import Agenda

...
class Blog(models.Model):
   ...
   agenda = models.foreignKey(Agenda)

Est-ce une solution viable ? Aussi, comment empecher la creation de calendrier dans d'autres circonstances ?

Merci !

Hors ligne

#3 10-08-2012 13:33:44

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

Re : Organisation d'un projet Django

Je trouve bizare de lier un agenda à un blog.

Perso je lierais le blog et l'agenda à un site et un site à un user.

Ainsi ce sera plus flexible.
Le 10 août 2012 10:38, "DuanHua" <gaspard.lenoir _AT_ gmail.com> a écrit :

> Bon comme toujours, en exposant le probleme j'ai trouvé une solution.
> Mon fichier models.py de mon app Blog ressemble à :
>
> ...
> from agenda.models import Agenda
>
> ...
> class Blog(models.Model):
>    ...
>    agenda = models.foreignKey(Agenda)
>
> Est-ce une solution viable ? Aussi, comment empecher la creation de
> calendrier dans d'autres circonstances ?
>
> Merci !
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#4 10-08-2012 17:33:40

David Thenon
Membre
Inscription : 11-08-2010
Messages : 156
Site Web

Re : Organisation d'un projet Django

Salut,

> class Blog(models.Model):
>    ...
>    agenda = models.foreignKey(Agenda)
>

Comme l'a dit Remy, pour une plateforme de blog mutualisée ça semble une
mauvaise idée, mieux vaut effectivement relier sur
"django.contrib.sites.models.Site".

Il faudra probablement que tu génères un fichier de settings (en utilisant
toujours la même bdd sinon aucun intérêt).

> Est-ce une solution viable ? Aussi, comment empecher la creation de
> calendrier dans d'autres circonstances ?

À priori unique=True devrait faire l'affaire tel que :

    class Blog(models.Model):
       ...
       site = models.foreignKey(Site, unique=True)

Et faire de même dans le modèle Agenda.

> Mais la logique est elle la bonne ?

C'est un peu à toi de voir comment tu veux organiser ta plateforme, ça dépend
de tes besoins particuliers dont on a pas connaissance.

Hors ligne

#5 13-08-2012 12:23:12

DuanHua
Membre
Inscription : 10-08-2012
Messages : 6

Re : Organisation d'un projet Django

Merci pour vos aides, je vais regarder de plus pret avec le framework site !

Hors ligne

Pied de page des forums