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 utilisantget_form_kwargs()
. Siform_class
n’est pas fourni, c’estget_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 typePOST
ouPUT
, les données de la requête (request.POST
etrequest.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 nomform
.
-
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 attributsmodel
etqueryset
décrivant le type d’objet que le formulaireModelForm
manipule.Si vous définissez à la fois les attributs
fields
etform_class
, une exceptionImproperlyConfigured
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
ouqueryset
.
-
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 classeModelForm
.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 exceptionImproperlyConfigured
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 utilisersuccess_url="/polls/{slug}/"
pour rediriger vers une URL composée à partir du champslug
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 formulaireModelForm
sera créée en se basant sur le modèle associé au contenu dequeryset
ou demodel
, en fonction de l’attribut qui est défini.
-
get_form_kwargs
()¶ Ajoute l’instance actuelle (
self.object
) au contenu standard deget_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 valeurget_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
¶
-
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 dedjango.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
¶
-
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 utilisersuccess_url="/parent/{parent_id}/"
pour rediriger vers une URL composée à partir du champparent_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.
-