Mise à jour de 'source/part-3-django-concepts/views.adoc'
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
3aae64ad54
commit
81f1a546ab
|
@ -1,8 +1,34 @@
|
|||
== Vues
|
||||
|
||||
Une vue correspond à un contrôleur dans le pattern MVC. Tout ce que vous pourrez définir au niveau du fichier `views.py` fera le lien entre le modèle stocké dans la base de données et ce avec quoi l'utilisateur pourra réellement interagir (le `template`).
|
||||
Une vue correspond à un contrôleur dans le pattern MVC.
|
||||
Tout ce que vous pourrez définir au niveau du fichier `views.py` fera le lien entre le modèle stocké dans la base de données
|
||||
et ce avec quoi l'utilisateur pourra réellement interagir (le `template`).
|
||||
|
||||
Chaque vue peut etre représentée de deux manières: soit par des fonctions, soit par des classes. Le comportement leur est propre, mais le résultat reste identique. Le lien entre l'URL à laquelle l'utilisateur accède et son exécution est faite au travers du fichier `gwift/urls.py`, comme on le verra par la suite.
|
||||
De manière très basique, une vue consiste en un objet Python dont le retour sera une instance de type `HttpResponse:
|
||||
|
||||
[source,python]
|
||||
----
|
||||
from django.http import HttpResponse
|
||||
|
||||
def home(request):
|
||||
return HttpResponse("Hello, World!")
|
||||
----
|
||||
|
||||
Techniquement, une vue pourrait retourner autre chose qu'une réponse Http, mais cela bloquera au niveau des middlewares,
|
||||
qui s'attendent tous à traiter un objet de ce type-là.
|
||||
Les APIs de type REST, SOAP ou GraphQL ne font finalement qu'une chose: encapsuler leur résultat dans un objet de type HttpResponse.
|
||||
|
||||
Le paramètre `request` est lui de type `HttpRequest` et embarque https://docs.djangoproject.com/en/stable/ref/request-response/#django.http.HttpRequest[énormément d'informations],
|
||||
dont le schéma, les cookies, les verbes http,
|
||||
|
||||
NOTE: détailler les informations de l'objet request :-p
|
||||
|
||||
Chaque vue peut etre représentée de deux manières:
|
||||
|
||||
1. Soit par des fonctions,
|
||||
2. Soit par des classes.
|
||||
|
||||
Le comportement leur est propre, mais le résultat reste identique. Le lien entre l'URL à laquelle l'utilisateur accède et son exécution est faite au travers du fichier `gwift/urls.py`, comme on le verra par la suite.
|
||||
|
||||
=== Function Based Views
|
||||
|
||||
|
|
Loading…
Reference in New Issue