Django - Creazione di viste

Una funzione di visualizzazione, o "visualizzazione" in breve, è semplicemente una funzione Python che accetta una richiesta web e restituisce una risposta web. Questa risposta può essere il contenuto HTML di una pagina Web, o un reindirizzamento, o un errore 404, o un documento XML, o un'immagine, ecc. Esempio: si utilizza la visualizzazione per creare pagine Web, notare che è necessario associare una visualizzazione a un URL per vederlo come una pagina web.

In Django, le visualizzazioni devono essere create nel file views.py dell'app.

Visualizzazione semplice

Creeremo una semplice visualizzazione in myapp per dire "benvenuto nella mia app!"

Vedere la vista seguente:

from django.http import HttpResponse

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

In questa visualizzazione, utilizziamo HttpResponse per eseguire il rendering dell'HTML (come probabilmente avrete notato, abbiamo l'HTML hardcoded nella vista). Per vedere questa vista come una pagina dobbiamo solo mapparla a un URL (questo sarà discusso in un prossimo capitolo).

Abbiamo utilizzato HttpResponse per eseguire il rendering dell'HTML nella vista in precedenza. Questo non è il modo migliore per visualizzare le pagine. Django supporta il pattern MVT quindi per creare la vista precedente, Django - come MVT, avremo bisogno -

Un modello: miaapp / templates / hello.html

E ora la nostra visione sarà simile a:

from django.shortcuts import render

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

Le viste possono anche accettare parametri:

from django.http import HttpResponse

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

Quando è collegata a un URL, la pagina visualizzerà il numero passato come parametro. Notare che i parametri verranno passati tramite l'URL (discusso nel prossimo capitolo).