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_classen utilisant- get_form_kwargs(). Si- form_classn’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 - initialest défini à- get_initial(). Si la requête est de type- POSTou- PUT, les données de la requête (- request.POSTet- 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_urlpar 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¶
- 
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- modelet- querysetdécrivant le type d’objet que le formulaire- ModelFormmanipule.- Si vous définissez à la fois les attributs - fieldset- form_class, une exception- ImproperlyConfiguredest 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.objectou- queryset.
 - 
fields¶
- Une liste de noms de champs. Cet attribut est interprété de la même manière que l’attribut - Meta.fieldsde 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- ImproperlyConfiguredest générée.
 - 
success_url¶
- L’URL vers laquelle rediriger la réponse lorsque le formulaire est traité avec succès. - success_urlpeut 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- slugd’un modèle.
 - 
get_form_class()¶
- Récupère la classe de formulaire dont il faudra créer une instance. Si - form_classest définie, c’est cette classe qui sera utilisée. Sinon, une instance de formulaire- ModelFormsera créée en se basant sur le modèle associé au contenu de- querysetou 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_urls’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¶
- 
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 - ProcessFormViewet 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¶
- 
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_urlpeut 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_idd’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_urlpar défaut.
 
- 
 
          