Django - Création de vues

Une fonction d'affichage, ou «vue» en abrégé, est simplement une fonction Python qui prend une requête Web et renvoie une réponse Web. Cette réponse peut être le contenu HTML d'une page Web, ou une redirection, ou une erreur 404, ou un document XML, ou une image, etc. Exemple: Vous utilisez la vue pour créer des pages Web, notez que vous devez associer une vue à une URL pour la voir comme une page Web.

Dans Django, les vues doivent être créées dans le fichier app views.py.

Vue simple

Nous allons créer une vue simple dans myapp pour dire "Bienvenue dans mon application!"

Voir la vue suivante -

from django.http import HttpResponse

def hello(request):
   text = """<h1>welcome to my app !</h1>"""
   return HttpResponse(text)

Dans cette vue, nous utilisons HttpResponse pour rendre le HTML (comme vous l'avez probablement remarqué, nous avons le HTML codé en dur dans la vue). Pour voir cette vue comme une page, il suffit de la mapper à une URL (cela sera discuté dans un prochain chapitre).

Nous avons utilisé HttpResponse pour rendre le HTML dans la vue précédente. Ce n'est pas la meilleure façon de rendre les pages. Django prend en charge le modèle MVT donc pour créer la vue précédente, Django - MVT comme, nous aurons besoin de -

Un modèle: myapp / templates / hello.html

Et maintenant, notre point de vue ressemblera à -

from django.shortcuts import render

def hello(request):
   return render(request, "myapp/template/hello.html", {})

Les vues peuvent également accepter des paramètres -

from django.http import HttpResponse

def hello(request, number):
   text = "<h1>welcome to my app number %s!</h1>"% number
   return HttpResponse(text)

Lorsqu'elle est liée à une URL, la page affichera le numéro passé en paramètre. Notez que les paramètres seront transmis via l'URL (discuté dans le chapitre suivant).