Les vues dans Django constituent un élément fondamental de la structure d'une application Django. Ils sont responsables du traitement des requêtes HTTP et du renvoi d’une réponse à l’utilisateur. Dans ce chapitre, nous explorerons comment créer une vue simple dans Django en utilisant Python.
Avant de commencer, il est important de comprendre ce qu'est une vue. Dans Django, une vue est une fonction Python qui prend une requête Web et renvoie une réponse. Cette réponse peut être du HTML provenant d'une page Web, une redirection, une erreur 404, un fichier XML, une image ou tout autre élément pouvant être envoyé via HTTP.
Pour créer une vue dans Django, vous devez faire trois choses :
- Définissez la vue dans le fichier vues.py de votre application
- Configurer une URL pour la vue
- Écrivez le code HTML de la vue (facultatif)
Commençons par créer une vue simple. Tout d’abord, ouvrez le fichier views.py de votre application Django. Ce fichier est l'endroit où vous définissez toutes vos vues. Une vue est simplement une fonction Python, commençons donc par définir une fonction. Par exemple :
def hello_world (demande) : return HttpResponse("Bonjour tout le monde !")
Il s'agit d'une vue très simple. Il prend un objet HttpRequest comme paramètre (que nous appelons « requête ») et renvoie un objet HttpResponse. Dans ce cas, la réponse est la chaîne "Hello, World!".
Maintenant que nous avons une vue, nous devons configurer une URL pour celle-ci. Cela se fait dans le fichier urls.py de votre application. Ce fichier est l'endroit où vous définissez toutes vos URL. Une URL est simplement un modèle que Django essaie de faire correspondre avec l'URL demandée par l'utilisateur. Si la correspondance réussit, Django appelle la vue associée à l'URL.
Pour configurer une URL pour notre vue, ajoutons la ligne suivante au fichier urls.py :
chemin('bonjour/', vues.hello_world)
Cette ligne indique à Django que chaque fois qu'un utilisateur demande l'URL /hello/, il doit appeler la vue hello_world().
Maintenant, si vous démarrez le serveur Django et accédez à http://localhost:8000/hello/ dans votre navigateur, vous verrez le message "Hello, World!".
Enfin, parlons de la façon d'écrire le code HTML pour notre vue. Bien que notre vue actuelle renvoie simplement une simple chaîne, la plupart du temps, vous souhaiterez renvoyer un fichier HTML complet.
Pour ce faire, vous pouvez utiliser le système de modèles de Django. Un modèle est simplement un fichier HTML avec un code spécial qui vous permet d'insérer des variables et d'autres logiques directement dans le HTML.
Pour utiliser un modèle, vous devez créer un fichier HTML dans le répertoire des modèles de votre application. Par exemple, vous pouvez créer un fichier appelé hello.html avec le contenu suivant :
<html> <body> <p>Bonjour tout le monde !</p> </body> </html>
Vous pouvez ensuite modifier votre vue pour utiliser ce modèle comme suit :
def hello_world (demande) : return render(requête, 'hello.html')
La fonction render() prend un objet HttpRequest, le nom d'un modèle et éventuellement un dictionnaire de variables contextuelles, et renvoie un objet HttpResponse avec le texte du modèle rendu.
C'est tout ce que vous devez savoir pour créer une vue simple dans Django. Les vues sont une partie importante de toute application Django, et comprendre comment elles fonctionnent est essentiel pour devenir un développeur Django efficace.