\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}.
