Vous n'êtes pas identifié(e).
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
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
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
Personne ne peut m'aider ?
Hors ligne
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
j'ai réussi merci bcp !!!
Hors ligne