[PYTHON] Vue basée sur les classes Django

introduction

Ici, nous allons expliquer les bases de la vue basée sur les classes de django (vue générale). Écrivez dans views.py sous le répertoire de l'application. Supposons que vous souhaitiez utiliser «SampleModel» de «models.py» comme modèle et «SampleForm» de «forms.py» comme formulaire.

TemplateView

Il s'agit de la forme la plus simple de vue de classe. Il peut être utilisé pour créer différentes pages.

views.py


from django.views import generic


class SampleTemplate(generic.TemplateView):
    template_name = 'app/app_template.html'

Si template_name, qui spécifie le fichier HTML à utiliser comme modèle, est défini sur nom de l'application / nom de l'application_view nom.html, il sera utilisé par défaut même s'il n'est pas spécifié lors de la définition de la classe. La même chose est vraie pour les autres vues décrites ci-dessous.

ListView

Il peut être utilisé pour les pages qui répertorient plusieurs enregistrements, comme la page de liste d'articles d'un blog.

views.py


from django.views import generic

from .model import SampleModel


class SampleList(generic.ListView):
    model = SampleModel
    template_name = 'app/app_list.html'
    paginate_by = 10 #Lors de l'ajout de la mise en page

model spécifie le modèle qui contient les enregistrements à afficher sur la page.

CreateView

Il peut être utilisé pour les pages qui créent de nouveaux enregistrements, comme la création de nouveaux articles pour les blogs.

views.py


from django.urls import reverse_lazy
from django.views import generic

from .model import SampleModel
from .forms import SampleForm


class SampleCreate(generic.CreateView):
    model = SampleModel
    form_class = SampleForm
    template_name = 'app/app_create.html'
    success_url = reverse_lazy('app:app_list')

Un écran de formulaire est créé sur la base du formulaire spécifié par form_class. De plus, success_url spécifie la page vers laquelle effectuer la transition après la création d'article réussie. Les détails seront expliqués dans l'article ʻurls.py`.

DetailView

Il peut être utilisé pour les pages qui affichent des détails d'enregistrement, comme des pages individuelles d'articles de blog.

views.py


from django.views import generic

from .model import SampleModel
from .forms import SampleForm


class SampleDetail(generic.Detail):
    model = SampleModel
    template_name = 'app/app_detail.html'

UpdateView

Il peut être utilisé pour les pages qui mettent à jour le contenu des enregistrements une fois créés, comme l'écran d'édition des articles de blog.

views.py


from django.urls import reverse_lazy
from django.views import generic

from .model import SampleModel
from .forms import SampleForm


class SampleUpdate(generic.UpdateView):
    model = SampleModel
    form_class = SampleForm
    template_name = 'app/app_update.html'
    success_url = reverse_lazy('app:app_list')

DeleteView

Il peut être utilisé pour les pages pour supprimer des enregistrements créés, tels que l'écran de suppression d'articles de blog.

views.py


from django.urls import reverse_lazy
from django.views import generic

from .model import SampleModel
from .forms import SampleForm


class SampleDelete(generic.DeleteView):
    model = SampleModel
    template_name = 'app/app_delete.html'
    success_url = reverse_lazy('app:app_list')

Résumé

Ici, j'ai expliqué les bases de la vue basée sur les classes de django. La prochaine fois, je parlerai des vues basées sur les fonctions.

Recommended Posts

Vue basée sur les classes Django
Vue basée sur les fonctions Django
Modèle de configuration de Django2 View
Django
[GoogleAppEngine] @login_required pour la vue basée sur les classes de Django
Diagramme de classes API de vues basées sur les classes
mise à jour de Django
Django Note 4
Mémorandum Django
recherche django
Installation de Django
Résumé de Django
Test Django
Django # 2 (modèle)
Django Note 5
Résumé du tutoriel Django pour les débutants par les débutants ③ (Afficher)
Django Hands On
Touchez django
Résumé de Django
Traitement courant lors de la demande de vue basée sur les classes
Django Shoho
Django + Docker
Ajax dans Django (en utilisant la vue de classe générique)
Glossaire Django
Installation de Django
Django: Références
Django Note 1
Django Note 3
Django Note 2
Démarrage de Django
Mémo Django
Django NullCharField
Afficher la vue détaillée de Django au format PDF (prise en charge du japonais)
DJango Memo: depuis le début (création d'une vue)
Passer les informations de connexion à afficher dans Django
Résumé du didacticiel Django pour les débutants par les débutants ④ (Vue générique)
Spécifiez l'URL de la vue dans le modèle Django