Vues génériques d’éditionLien vers cette rubrique
Les vues suivantes sont décrites sur cette page et fournissent une base pour l’édition de contenu :
FormViewLien vers cette rubrique
- class django.views.generic.edit.FormViewLien vers cette définition
Une vue qui affiche un formulaire. En cas d’erreur, le formulaire est ré-affiché avec les erreurs de validation rencontrées ; en cas de succès, l’utilisateur est redirigé vers la nouvelle URL.
Ancêtres (MRO)
Cette vue hérite des méthodes et des attributs des vues suivantes :
Exemple myapp/forms.py :
from django import forms class ContactForm(forms.Form): name = forms.CharField() message = forms.CharField(widget=forms.Textarea) def send_email(self): # send email using the self.cleaned_data dictionary passExemple myapp/views.py :
from myapp.forms import ContactForm from django.views.generic.edit import FormView class ContactView(FormView): template_name = 'contact.html' form_class = ContactForm success_url = '/thanks/' def form_valid(self, form): # This method is called when valid form data has been POSTed. # It should return an HttpResponse. form.send_email() return super().form_valid(form)Exemple myapp/contact.html :
<form method="post">{% csrf_token %} {{ form.as_p }} <input type="submit" value="Send message"> </form>
- class django.views.generic.edit.BaseFormViewLien vers cette définition
A base view for displaying a form. It is not intended to be used directly, but rather as a parent class of the
django.views.generic.edit.FormViewor other views displaying a form.Ancêtres (MRO)
Cette vue hérite des méthodes et des attributs des vues suivantes :
CreateViewLien vers cette rubrique
- class django.views.generic.edit.CreateViewLien vers cette définition
Une vue qui affiche un formulaire permettant la création d’objet, et qui ré-affiche le formulaire en cas d’erreurs de validation. En cas de succès, l’objet est enregistré.
Ancêtres (MRO)
Cette vue hérite des méthodes et des attributs des vues suivantes :
Attributs
- template_name_suffixLien vers cette définition
La page
CreateViewaffichée lors d’une requêteGETutilise'_form'comme valeur detemplate_name_suffix. Par exemple, en modifiant cet attribut à'_create_form'pour une vue créant des objets pour le modèle d’exempleAuthor, le contenu par défaut detemplate_nameserait'myapp/author_create_form.html'.
- objectLien vers cette définition
Lors de l’utilisation de la vue
CreateView, vous avez accès àself.object, qui constitue l’objet en cours de création. Si l’objet n’a pas encore été créé, sa valeur seraNone.
Exemple myapp/views.py :
from django.views.generic.edit import CreateView from myapp.models import Author class AuthorCreate(CreateView): model = Author fields = ['name']Exemple myapp/author_form.html :
<form method="post">{% csrf_token %} {{ form.as_p }} <input type="submit" value="Save"> </form>
- class django.views.generic.edit.BaseCreateViewLien vers cette définition
A base view for creating a new object instance. It is not intended to be used directly, but rather as a parent class of the
django.views.generic.edit.CreateView.Ancêtres (MRO)
Cette vue hérite des méthodes et des attributs des vues suivantes :
Méthodes
- get(request, *args, **kwargs)Lien vers cette définition
Sets the current object instance (
self.object) toNone.
- post(request, *args, **kwargs)Lien vers cette définition
Sets the current object instance (
self.object) toNone.
UpdateViewLien vers cette rubrique
- class django.views.generic.edit.UpdateViewLien vers cette définition
Une vue qui affiche un formulaire permettant l’édition d’un objet existant, qui ré-affiche le formulaire en cas d’erreurs de validation et qui enregistre les modifications de l’objet s’il n’y a pas d’erreur. Cette vue utilise un formulaire généré automatiquement à partir de la classe de l’objet de modèle (sauf si une classe de formulaire a été explicitement indiquée).
Ancêtres (MRO)
Cette vue hérite des méthodes et des attributs des vues suivantes :
Attributs
- template_name_suffixLien vers cette définition
La page
UpdateViewaffichée lors d’une requêteGETutilise'_form'comme valeur detemplate_name_suffix. Par exemple, en modifiant cet attribut à'_update_form'pour une vue mettant à jour des objets pour le modèle d’exempleAuthor, le contenu par défaut detemplate_nameserait'myapp/author_update_form.html'.
- objectLien vers cette définition
Lors de l’utilisation de la vue
UpdateView, vous avez accès àself.object, qui constitue l’objet en cours de mise à jour.
Exemple myapp/views.py :
from django.views.generic.edit import UpdateView from myapp.models import Author class AuthorUpdate(UpdateView): model = Author fields = ['name'] template_name_suffix = '_update_form'Exemple myapp/author_update_form.html :
<form method="post">{% csrf_token %} {{ form.as_p }} <input type="submit" value="Update"> </form>
- class django.views.generic.edit.BaseUpdateViewLien vers cette définition
A base view for updating an existing object instance. It is not intended to be used directly, but rather as a parent class of the
django.views.generic.edit.UpdateView.Ancêtres (MRO)
Cette vue hérite des méthodes et des attributs des vues suivantes :
Méthodes
- get(request, *args, **kwargs)Lien vers cette définition
Sets the current object instance (
self.object).
- post(request, *args, **kwargs)Lien vers cette définition
Sets the current object instance (
self.object).
DeleteViewLien vers cette rubrique
- class django.views.generic.edit.DeleteViewLien vers cette définition
Une vue qui affiche une page de confirmation et supprime un objet existant. L’objet est supprimé uniquement si la requête est de type
POST. Si la vue est appelée via une requêteGET, elle affiche la page de confirmation qui contient un formulaire pour une requêtePOSTvers la même URL.Ancêtres (MRO)
Cette vue hérite des méthodes et des attributs des vues suivantes :
Attributs
- template_name_suffixLien vers cette définition
La page
DeleteViewaffichée lors d’une requêteGETutilise'_confirm_delete'comme valeur detemplate_name_suffix. Par exemple, en modifiant cet attribut à'_check_delete'pour une vue supprimant des objets pour le modèle d’exempleAuthor, le contenu par défaut detemplate_nameserait'myapp/author_check_delete.html'.
Exemple myapp/views.py :
from django.urls import reverse_lazy from django.views.generic.edit import DeleteView from myapp.models import Author class AuthorDelete(DeleteView): model = Author success_url = reverse_lazy('author-list')Exemple myapp/author_confirm_delete.html :
<form method="post">{% csrf_token %} <p>Are you sure you want to delete "{{ object }}"?</p> <input type="submit" value="Confirm"> </form>
- class django.views.generic.edit.BaseDeleteViewLien vers cette définition
A base view for deleting an object instance. It is not intended to be used directly, but rather as a parent class of the
django.views.generic.edit.DeleteView.Ancêtres (MRO)
Cette vue hérite des méthodes et des attributs des vues suivantes :