1 2021-09-28¶
1.1 Opmerkingen¶
opletten met gereserveerde woorden of builtin functions zoals “min”
itereren door lijst in python, niet met index om door twee of meer lijsten te gaan, kan je dit wel doen, maar je kan ook de builtin functie zip gebruiken
haakjes rond lijst zorgt voor soort dubbele lijst, ([1,2])
1.2 Django installeren¶
Maak een nieuwe virtual environment en installeer hierin Django met behulp van pip.
Maak een Django project aan met:
django-admin startproject blog
Voer het volgende commando uit om de datebase aan te maken:
python manage.py migrate
Maak een admin gebruiker aan:
python manage.py createsuperuser
1.3 Django app¶
Maak een Django app aan met:
python manage.py startapp post
Voeg de app aan je project toe (blog/settings.py) en zoek naar een lijst met naam INSTALLED_APPS. Voeg ‘post’ aan de lijst toe.
1.4 Data model toevoegen¶
Open post/models.py en voeg onderstaande code toe:
class Post(models.Model):
title = models.CharField(max_length=200)
Maak migratiescripts en voer deze uit om de database aan te passen.
1.5 App aan admin toevoegen¶
Breid de admin uit zodat je posts kan aanmaken vanuit de admin.
1.6 Database model uitbreiden¶
Open post/models.py en voeg onderstaande code toe:
class (models.Model):
title = models.CharField(max_length=200)
content = models.TextField(blank=True, null=True)
published = models.DateField(blank=True, null=True)
Maak migratiescripts en voer deze uit om de database aan te passen.
1.7 Django generic views¶
Open post/views.py en voeg onderstaande code toe:
from django.views.generic import ListView
from .models import Post
class PostListView(ListView):
model = Post
Open blog/urls.py en voeg onderstaande code toe:
from post.views import PostListView
urlpatterns += [
path('post/', PostListView.as_view()),
]
Bekijk de website op http://localhost:8000/post/
Je krijgt een foutmelding over een ontbrekend bestand.
Maak een map aan in de ‘post’ map met naam ‘templates’.
Maak hierin een map met naam ‘post’.
Maak in deze map een bestand aan met naam ‘post_list.html’.
Schrijf volgende code in dit bestand:
{% for post in object_list %} {{ post }} {% endfor %}
Voeg via de admin een aantal blog-posts toe, en surf vervolgens opnieuw naar http://localhost:8000/post