- en
- Language: fr
Classes mixins d’édition¶
Les classes mixins suivantes sont utilisées pour construire les vues d’édition de Django :
- django.views.generic.edit.FormMixin
- django.views.generic.edit.ModelFormMixin
- django.views.generic.edit.ProcessFormView
- django.views.generic.edit.DeletionMixin
Note
Des exemples de la manière dont ces classes sont combinées pour former des vues d’édition se trouvent dans la documentation sur les Vues génériques d’édition.
FormMixin¶
- class django.views.generic.edit.FormMixin¶
Une classe mixin fournissant des outils pour la création et l’affichage de formulaires.
Classes mixins
Méthodes et attributs
- initial¶
Un dictionnaire contenant les données initiales du formulaire.
- form_class¶
La classe de formulaire dont il faut créer une instance.
- success_url¶
L’URL vers laquelle rediriger la réponse lorsque le formulaire est traité avec succès.
- get_initial()¶
Récupère les données initiales pour le formulaire. Par défaut, cette méthode renvoie une copie de initial.
- get_form_class()¶
Récupère la classe de formulaire dont il faut créer une instance. Par défaut, form_class.
- get_form(form_class=None)¶
Crée une instance de form_class en utilisant get_form_kwargs(). Si form_class n’est pas fourni, c’est get_form_class() qui sera utilisée.
Changed in Django 1.8:Le paramètre form_class n’est plus obligatoire.
- get_form_kwargs()¶
Construit les paramètres nommés requis pour créer une instance de formulaire.
Le paramètre initial est défini à get_initial(). Si la requête est de type POST ou PUT, les données de la requête (request.POST et request.FILES) seront également fournies.
- get_success_url()¶
Détermine l’URL vers laquelle rediriger lorsque le formulaire est validé avec succès. Renvoie success_url par défaut.
- form_valid(form)¶
Redirige vers get_success_url().
- form_invalid(form)¶
Produit la réponse, en plaçant le formulaire non valide dans le contexte.
ModelFormMixin¶
- class django.views.generic.edit.ModelFormMixin¶
Une classe mixin de formulaire qui fonctionne avec les ModelForms, plutôt qu’avec des formulaires autonomes.
Comme il s’agit d’une sous-classe de SingleObjectMixin, les instances de cette classe mixin ont accès aux attributs model et queryset décrivant le type d’objet que le formulaire ModelForm manipule.
Si vous définissez à la fois les attributs fields et form_class, une exception ImproperlyConfigured est générée.
Changed in Django 1.8:Précédemment, si fields et form_class étaient tous deux définis, fields était silencieusement ignoré.
Classes mixins
Méthodes et attributs
- model¶
Une classe de modèle. Peut être fournie explicitement, sinon elle sera déterminée en examinant self.object ou queryset.
- fields¶
Une liste de noms de champs. Cet attribut est interprété de la même manière que l’attribut Meta.fields de la classe ModelForm.
Il s’agit d’un attribut obligatoire si vous générez automatiquement la classe de formulaire (par ex. en utilisant model). En l’absence de cet attribut, une exception ImproperlyConfigured est générée.
Changed in Django 1.8:L’omission de cet attribut était précédemment admise et aboutissait à un formulaire contenant tous les champs du modèle.
- success_url¶
L’URL vers laquelle rediriger la réponse lorsque le formulaire est traité avec succès.
success_url peut contenir des chaînes de format de type dictionnaire, qui seront substituées en utilisant les attributs de champs de l’objet. Par exemple, vous pourriez utiliser success_url="/polls/{slug}/" pour rediriger vers une URL composée à partir du champ slug d’un modèle.
Changed in Django 1.8:La prise en charge de la nouvelle syntaxe de Python de mise en forme par accolades a été ajoutée. L’ancienne syntaxe par substitution de type %(slug)s est maintenant obsolète et sera supprimée dans Django 1.10.
- get_form_class()¶
Récupère la classe de formulaire dont il faudra créer une instance. Si form_class est définie, c’est cette classe qui sera utilisée. Sinon, une instance de formulaire ModelForm sera créée en se basant sur le modèle associé au contenu de queryset ou de model, en fonction de l’attribut qui est défini.
- get_form_kwargs()¶
Ajoute l’instance actuelle (self.object) au contenu standard de get_form_kwargs().
- get_success_url()¶
Détermine l’URL vers laquelle rediriger lorsque le formulaire est validé avec succès. Renvoie django.views.generic.edit.ModelFormMixin.success_url s’il est défini ; sinon, essaie d’employer la valeur get_absolute_url() de l’objet.
- form_valid(form)¶
Enregistre l’instance de formulaire, définit l’objet en cours de la vue et redirige vers get_success_url().
- form_invalid()¶
Produit la réponse, en plaçant le formulaire non valide dans le contexte.
ProcessFormView¶
- class django.views.generic.edit.ProcessFormView¶
Une classe mixin qui fournit la gestion de flux habituelle des requêtes HTTP GET et POST.
Note
Cette classe est nommée ProcessFormView et hérite directement de django.views.generic.base.View, mais elle ne peut pas être utilisée de manière indépendante, ce qui fait qu’elle est plutôt considérée comme une classe mixin.
Étend
Méthodes et attributs
- get(request, *args, **kwargs)¶
Construit un formulaire, puis produit une réponse en utilisant un contexte contenant ce formulaire.
- post(request, *args, **kwargs)¶
Construit un formulaire, vérifie la validité du formulaire et le traite en conséquence.
DeletionMixin¶
- class django.views.generic.edit.DeletionMixin¶
Permet la gestion de l’action http DELETE.
Méthodes et attributs
- success_url¶
L’URL vers laquelle rediriger lorsque l’objet concerné a été supprimé avec succès.
success_url peut contenir des chaînes de format de type dictionnaire, qui seront substituées en utilisant les attributs de champs de l’objet. Par exemple, vous pourriez utiliser success_url="/parent/{parent_id}/" pour rediriger vers une URL composée à partir du champ parent_id d’un modèle.
Changed in Django 1.8:La prise en charge de la nouvelle syntaxe de Python de mise en forme par accolades a été ajoutée. L’ancienne syntaxe par substitution de type %(slug)s est maintenant obsolète et sera supprimée dans Django 1.10.
- get_success_url()¶
Renvoie l’URL vers laquelle rediriger lorsque l’objet concerné a été supprimé avec succès. Renvoie success_url par défaut.