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
¶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.
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.
get_context_data
(**kwargs)¶Appelle get_form()
et ajoute le résultat aux données de contexte sous le nom form
.
ModelFormMixin
¶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.
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.
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.
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
(form)¶Produit la réponse, en plaçant le formulaire non valide dans le contexte.
ProcessFormView
¶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)¶Produit une réponse en utilisant le contexte créé avec get_context_data()
.
post
(request, *args, **kwargs)¶Construit un formulaire, vérifie la validité du formulaire et le traite en conséquence.
DeletionMixin
¶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.
delete
(request, *args, **kwargs)¶Récupère l’objet cible et appelle sa méthode delete()
, puis redirige vers l’URL de succès.
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.
déc. 07, 2021