Django-fr

Forum

#1 02-12-2011 23:20:29

jeffz
Membre
Inscription : 02-12-2011
Messages : 5

2 modèls une seule vue

Bonjour,

Je suis débutant en Django, j'ai  2 modèle, un modèle fiche produit, la partie principale, à laquelle vient s'ajouter une vue et une template. Et un model réponse, c'est un formulaire, la réponse a besoin d' id de la fiche produit et de l'user. Je voudrais que mon formulaire de réponse s'affiche en dessous de ma fiche produit. Quelle est la meilleur marche à suivre ? 1 vues pour chaque models ? 1 seule vue pour les 2 ? Comment faire ?

J'espere avoir été assez précis.

Merci d'avance pour votre aide précieuse,

jeff.

Hors ligne

#2 03-12-2011 12:25:11

quinode
Membre
Lieu : Auvergne
Inscription : 14-10-2010
Messages : 89
Site Web

Re : 2 modèls une seule vue

Ta vue va inclure deux objets : ton produit et un "form" que tu afficheras aussi dans ton template et que tu dois donc définir à part, typiquement dans un fichier forms.py. Utilise un ModelForm basé sur ton modéle "réponse", ça sera plus simple

Cette même vue peut aussi (si tu redirige l'action de ton form sur la meme page) traiter le form avec un :

    if request.method == 'POST' :
   
Ce qui fait que tu pourras insérer à ce moment-là tes clés User et Produit (puisque la vue aura déjà le produit et user = request.user )

Bon courage dans ta découverte de Django, ça vaut le coup !

Hors ligne

#3 03-12-2011 14:45:20

jeffz
Membre
Inscription : 02-12-2011
Messages : 5

Re : 2 modèls une seule vue

Merci pour cette réponse ! Donc si j'ai bien compris j'ai mes 2 apps, l'app réponse, avec un modele.py et un form.py et l'app fiche produit avec un modele et une vue et dans cette vue ( fiche produit ) je gère l'affichage de ma fiche produit et mon formulaire de creation de réponse ? 2 fonctions que je fais correspondre avec une seule template "display_fiche_produit.html" ?

J'ai essayé de faire ça mais rien à faire mon formulaire ne s'affiche pas. Alors que quand mon app réponse possedait sa propre vue le formulaire s'affichait.

Sinon je suis bien d'accord Django c'est vaut vraiment le coup !

Hors ligne

#4 06-12-2011 14:46:22

jeffz
Membre
Inscription : 02-12-2011
Messages : 5

Re : 2 modèls une seule vue

Personne ne peut m'aider ?

Hors ligne

#5 06-12-2011 14:51:22

Julien Bouquillon [revolunet]
Membre
Inscription : 07-10-2011
Messages : 22

Re : 2 modèls une seule vue

Hello

Si j'ai bien compris tu veux afficher dans la meme page :

1 fiche produit
1 formulaire

Donc il te faut un seul template que tu appelles depuis une vue en lui
passant ton objet produit et ton object form
ex :

{{ produit.nom }}
formulaire :
<form>
{{ form.as_table }}
<input type=submit >
</form>


Vu que tu débutes c'est pas forcement la peine de splitter en plusieurs
'apps' pour l'instant

Si j'ai pas compris utilise http://dpaste.org/ pour montrer ton code

a+

Ju




*revolunet - Julien Bouquillon
consultants nouvelles technologies
web : http://www.revolunet.com
mail : contact _AT_ revolunet.com
gsm : *+33 (0) 6 62 62 61 02


Le 6 décembre 2011 14:46, jeff <jeanfrancois.biondi _AT_ gmail.com> a écrit :

> Personne ne peut m'aider ?
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#6 07-12-2011 00:31:08

jeffz
Membre
Inscription : 02-12-2011
Messages : 5

Re : 2 modèls une seule vue

j'ai réussi merci bcp !!!

Hors ligne

Pied de page des forums