From 7b1384a42848b4d728e1b9f99a2344f342285674 Mon Sep 17 00:00:00 2001 From: Fred Date: Mon, 9 May 2016 22:17:10 +0200 Subject: [PATCH] the forms awaken --- source/forms/clean.rst | 5 +++++ source/forms/crispy-forms.rst | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 source/forms/clean.rst create mode 100644 source/forms/crispy-forms.rst diff --git a/source/forms/clean.rst b/source/forms/clean.rst new file mode 100644 index 0000000..09ce791 --- /dev/null +++ b/source/forms/clean.rst @@ -0,0 +1,5 @@ +*********** +Validations +*********** + +Ecrire ici tout le brol sur les méthodes ``clean``. \ No newline at end of file diff --git a/source/forms/crispy-forms.rst b/source/forms/crispy-forms.rst new file mode 100644 index 0000000..727d69a --- /dev/null +++ b/source/forms/crispy-forms.rst @@ -0,0 +1,19 @@ +************ +Crispy Forms +************ + +Comme on l'a vu à l'instant, les forms, en Django, c'est le bien. Cela permet de valider des données reçues en entrée et d'afficher (très) facilement des formulaires à compléter par l'utilisateur. + +Par contre, c'est lourd. Dès qu'on souhaite peaufiner un peu l'affichage, contrôler parfaitement ce que l'utilisateur doit remplir, modifier les types de contrôleurs, les placer au pixel près, ... Tout ça demande énormément de temps. Et c'est là qu'intervient `Django-Crispy-Forms `_. Cette librairie intègre plusieurs frameworks CSS (Bootstrap, Foundation et uni-form) et permet de contrôler entièrement le *layout* et la présentation. + +(c/c depuis le lien ci-dessous) + +Pour chaque champ, crispy-forms va : + + * utiliser le ``verbose_name`` comme label. + * vérifier les paramètres ``blank`` et ``null`` pour savoir si le champ est obligatoire. + * utiliser le type de champ pour définir le type de la balise ````. + * récupérer les valeurs du paramètre ``choices`` (si présent) pour la balise ``