• en
  • Langue : fr

Fonctions de formulaires de modèles

La référence de l’API des formulaires de modèles. Pour du contenu d’initiation au sujet des formulaires de modèles, consultez le guide thématique Création de formulaires à partir de modèles.

modelform_factory(model, form=ModelForm, fields=None, exclude=None, formfield_callback=None, widgets=None, localized_fields=None, labels=None, help_texts=None, error_messages=None)[source]

Renvoie une classe ModelForm pour le modèle donné. Le paramètre facultatif form permet d’indiquer une classe de base pour la construction du ModelForm.

fields est une liste facultative de noms de champs. Quand elle est présente, seuls les champs de cette liste seront inclus dans le formulaire renvoyé.

exclude est une liste facultative de noms de champs. Quand elle est présente, les champs de cette liste sont exclus du formulaire renvoyé, même s’ils figurent dans le paramètre fields.

widgets est un dictionnaire faisant correspondre des noms de champs de modèle à des composants de formulaires.

formfield_callback est un objet exécutable acceptant un champ de modèle et renvoyant un champ de formulaire.

localized_fields est une liste de noms de champs devant être régionalisés.

labels est un dictionnaire faisant correspondre des noms de champs de modèle à des étiquettes.

help_texts est un dictionnaire faisant correspondre des noms de champs de modèle à des textes d’aide.

error_messages est un dictionnaire faisant correspondre des noms de champs de modèle à des dictionnaires de messages d’erreur.

Voir Fonction de fabrique de ModelForm pour des exemples d’utilisation.

Vous devez définir explicitement la liste des champs, soit par les paramètres nommés fields ou exclude, soit par les attributs de même nom de la classe interne de formulaire Meta. Voir Sélection des champs à utiliser pour plus d’informations. En omettant toute définition de champs à utiliser, cela aboutira à une exception ImproperlyConfigured.

Changed in Django 1.8:

L’omission de la liste des champs était précédemment admise et aboutissait à un formulaire contenant tous les champs du modèle.

modelformset_factory(model, form=ModelForm, formfield_callback=None, formset=BaseModelFormSet, extra=1, can_delete=False, can_order=False, max_num=None, fields=None, exclude=None, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None, min_num=None, validate_min=False)[source]

Renvoie une classe FormSet pour la classe de modèle donnée.

Les paramètres model, form, fields, exclude, formfield_callback, widgets, localized_fields, labels, help_texts et error_messages sont tous transmis à modelform_factory().

Les paramètres formset, extra, max_num, can_order, can_delete et validate_max sont transmis à formset_factory(). Voir Formulaires groupés pour plus de détails.

Voir Formulaires groupés de modèles pour des exemples d’utilisation.

inlineformset_factory(parent_model, model, form=ModelForm, formset=BaseInlineFormSet, fk_name=None, fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None, min_num=None, validate_min=False)[source]

Renvoie un InlineFormSet en utilisant modelformset_factory() avec les valeurs par défaut formset=BaseInlineFormSet, can_delete=True et extra=3.

Si le modèle possède plus d’une clé étrangère ForeignKey vers parent_model, vous devez renseigner le paramètre fk_name.

Voir Sous-formulaires groupés pour des exemples d’utilisation.

Back to Top