gwift-book/chapters/views.tex

31 lines
955 B
TeX
Executable File

\chapter{Vues}
Les vues sont la plaque tournantes entre nos données (\textit{via} le modèle) et le rendus d'un template.
\section{Fonctions}\label{FBV}
Les fonctions
\section{Classes}\label{CBV}
Les \textit{Class Based Views} ne sont jamais que des classes qui encapsulent certains comportements, comme nous l'avons vu en (cf. \#).
La classe présentant le comportement le plus proche d'une fonction est la classe \texttt{View} que l'on trouve dans le paquet \texttt{django.views.generic}:
\begin{minted}{python}
from django.views.generic import View
class WishListView(View):
def get(self):
pass
def post(self):
pass
\end{minted}
Le premier avantage des \textit{CBVs} est de pouvoir isoler les conditions liées au type de méthode HTTP \texttt{if request.method == "GET": ... elif request.method == "POST": ...}
La principale \textit{cheat-sheet} est \href{https://ccbv.co.uk/}{Django Class-Based View inspector}.