Par défaut, Django cherche les templates dans le dossier templates de chaque application.
Dans ce dossier templates, un sous-dossier portant le nom de l'application.
./monsite ├── blog │ ├── ... │ ├── templates │ │ └── blog │ │ ├── home.html │ │ └── ... │ └── ... ├── ... └── monsite └── ...
Renvoyer le rendu d'un template comme réponse à une requête.
Dans une vue de l'application Blog :
from django.shortcuts import render def home(request): return render(request, 'blog/home.html')
Vue :
def home(request): posts = [ { 'author' : 'Albert Dupont', 'title' : 'Post 1', 'content' : 'Blog post content 1', 'date_posted': '28 Mai 2021', }, { 'author' : 'John Doe', 'title' : 'Post 2', 'content' : 'Blog post content 2', 'date_posted': '29 Mai 2021', }, ] return render(request, 'blog/home.html', { 'posts': posts })
Template :
<h1>Blog</h1> {% for post in posts %} <h2>{{ post.title }}</h2> <p>By {{ post.author }} on {{ post.date_posted }}</p> <p>{{ post.content }}</p> {% endfor %}