Een sjabloon in Django maakt gebruik van de Django Template Language (DTL), wat een flexibele, uitbreidbare en designer-vriendelijke syntax biedt voor dynamische HTML. Hieronder volgen de stappen om een sjabloon te maken in Django met voorbeelden.
1. Maak een sjabloon directory: Sjablonen worden georganiseerd in een map genaamd sjablonen in uw Django Project. U kunt de sjablonenmap aanmaken in de application directory.
1. Maak een sjabloonbestand: Maak binnen deze sjablonenmap een HTML-bestand aan. Dit bestand zal de sjabloon vertegenwoordigen. De naam van het bestand moet overeenkomen met het sjabloondocument dat u wilt aanmaken.
Bijvoorbeeld, als we een homepagina sjabloon willen maken, zouden we een bestand maken genaamd `home.html`.
1. Gebruik Django Template Language syntax: In het sjabloonbestand, kunt u de DTL syntax gebruiken om dynamische gegevens te genereren.
Bijvoorbeeld:
```
{% for post in posts %}
{{ post.text }}
Hier, de `for` tag wordt gebruikt om een lus te maken die door elk `post` object loopt in `posts`. De `{{ }}` syntax wordt gebruikt om de waarden van de attributen `title` en `text` te tonen.
1. Configuratie Django om sjablonen te gebruiken: In uw Django-instellingen bestand, moet u de `TEMPLATES` configuratie aanpassen.
Bijvoorbeeld:
```
TEMPLATES = [
{
‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
‘DIRS’: [os.path.join(BASE_DIR, ‘myapp/templates’)],
‘APP_DIRS’: True,
…
},
]
```
Hier voegt `DIRS` de locatie van uw sjablonenmap aan de sjabloon zoekpad.
1. Laad het sjabloon in een weergave: In uw Django-weergaven kunt u vervolgens gebruik maken van de `render()` functie om uw sjabloon te laden en een HttpResponse object te retourneren.
Bijvoorbeeld:
```
from django.shortcuts import render
def home(request):
return render(request, ‘home.html’, {‘posts’: Post.objects.all()})
```
Hier, `render()` neemt het request object, de naam van de sjabloon en een context dictionary (die de sjabloonvariabelen definieert). De `Post.objects.all()` haalt alle post-objecten uit de database voor rendering in de sjabloon.
Bron: Django Templating Language Documentation (https://docs.djangoproject.com/en/3.2/topics/templates/), Django project structuur (https://docs.djangoproject.com/en/3.2/intro/tutorial03/), Django rendering Tutorials (https://docs.djangoproject.com/en/3.2/topics/http/shortcuts/#django.shortcuts.render).