Compréhension envoi BlogPostForm
Salut Thibault, j'ai une autre question de compréhension sur la partie utilisation du formulaire via form_class. Je t'ai cité ci-dessous (avec la transcription) car je n'ai pas saisi la différence entre ce que tu fais avant et après le moment où tu décides de "l'envoi du formulaire". C'est la partie en gras au sujet du html que je ne comprends pas. Cette partie html que tu évoques est elle "remplacée" dans le template create_post.html ?
Ce que je crois avoir saisi est qu'on a plus de possibilité de modif, contrôle avec cette façon de faire avec form_class qui elle fait appel au formulaire qu'on a défini au préalable.
D'ailleurs est-il nécessaire de conserver model = BlogPost ? Si j'ai bien compris on n'en a plus besoin non?
Voici la partie en question:
00:06:29 :lignes de code qui est fait uniquement avec ces quatre lignes ici. Donc vous voyez qu'il y abeaucoup de choses qui sont faites pour nous et rassurez-vous ça ne veut pas dire qu'on ne peutpas modifier là encore pas mal de choses. On peut notamment bien entendu modifier l'URL de redirection
00:06:42 :donc pour par exemple rediriger vers le sommaire du blog et on peut bien entendu modifier leformulaire avant qu'il soit envoyé. Donc ce que je vais faire ici c'est déjà envoyer mon formulaire
00:06:52 :puisque là actuellement j'ai remis ici en fait du html directement et moi j'aimerais bien envoyermon formulaire ici donc le formulaire blog post form. Donc ce que je vais faire c'est que dans
00:07:02 :ma vue ici donc dans ma classe je vais indiquer pour l'attribut form class que je souhaite utiliserblog post form.
merci encore!
Salut !
Alors en fait c'est une combinaison d'éléments qui se fait ici : on utilise le formulaire BlogPostForm et le template HTML create_post.html.
Dans le formulaire BlogPostForm, tu indiques les champs que tu souhaites avoir dans ton formulaire. Et dans le fichier HTML (create_post) on affiche les champs du formulaire avec form.as_p.
Donc dans le template HTML on met aussi d'autres éléments (le lien de retour au sommaire etc), et le form_class permet juste d'indiquer qu'on souhaite inclure un formulaire dans le template (et on indique lequel). Et le form_class nous permet dans le template d'utiliser la variable form pour afficher le formulaire (et as_p pour l'afficher avec des balises de paragraphes).
C'est exactement pareil que ce qu'on faisait avant en mettant les champs un par un dans le HTML (avec les balises input, label, textarea, etc).
On remplace donc tout ça par le form.as_p qui s'occupe de mettre toutes les balises nécessaires pour nous : ça fait beaucoup de code HTML en moins à écrire :)
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte