Een Python-webapplicatie bouwen met Django

Django is een Python webframework op hoog niveau dat snelle ontwikkeling en een schoon, pragmatisch ontwerp stimuleert. Het neemt veel van de rompslomp van webontwikkeling uit handen, waardoor ontwikkelaars zich kunnen richten op het schrijven van de app in plaats van het wiel opnieuw uit te vinden. Dit artikel begeleidt u bij het bouwen van een eenvoudige webapplicatie met Django.

Aan de slag met Django

Voordat u kunt beginnen met het bouwen van een Django-webapplicatie, moet u Django installeren. U kunt Django installeren met behulp van pip, Python's package installer:

pip install django

Zodra Django is geïnstalleerd, kunt u een nieuw Django-project maken door de volgende opdracht uit te voeren in uw terminal of opdrachtprompt:

django-admin startproject myproject

Deze opdracht maakt een nieuwe directory genaamd myproject met de benodigde bestanden om te beginnen. Navigeer naar deze directory:

cd myproject

Een Django-applicatie maken

Binnen uw Django-project kunt u afzonderlijke applicaties maken die specifieke functionaliteiten verwerken. U kunt bijvoorbeeld een app hebben voor gebruikersauthenticatie, een andere voor blogposts, etc. Om een ​​app te maken, voert u de volgende opdracht uit:

python manage.py startapp myapp

Dit creëert een nieuwe directory genaamd myapp met bestanden zoals models.py, views.py en tests.py, en nog veel meer. U definieert uw modellen, views en templates binnen deze app.

Modellen definiëren

Django-modellen definiëren de structuur van uw gegevens en worden weergegeven als Python-klassen. U definieert ze in het bestand models.py in uw app:

from django.db import models

class BlogPost(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

Zodra u uw modellen hebt gedefinieerd, moet u databasetabellen voor ze maken. Voer de volgende opdrachten uit om de migraties toe te passen:

python manage.py makemigrations
python manage.py migrate

Weergaven en sjablonen maken

Django-weergaven verwerken de logica van uw applicatie en werken samen met modellen om gegevens in sjablonen te renderen. Een eenvoudige weergave kan worden gemaakt in het bestand views.py:

from django.shortcuts import render
from .models import BlogPost

def home(request):
    posts = BlogPost.objects.all()
    return render(request, 'home.html', {'posts': posts})

De bovenstaande code haalt alle blogberichten op uit de database en geeft ze door aan een sjabloon genaamd home.html. De sjabloon home.html wordt opgeslagen in een map genaamd templates in uw app:

<!DOCTYPE html>
<html>
<head>
    <title>Blog Home</title>
</head>
<body>
    <h1>Blog Posts</h1>
    <ul>
    {% for post in posts %}
        <li>{{ post.title }} - {{ post.created_at }}</li>
    {% endfor %}
    </ul>
</body>
</html>

URL's configureren

Om weergaven te verbinden met URL's, moet u URL-patronen definiëren. Maak een bestand met de naam urls.py in uw app-directory en voeg de volgende code toe:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

Voeg vervolgens de URL-patronen van deze app toe aan het hoofdprojectbestand urls.py:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

De ontwikkelingsserver uitvoeren

Nadat u uw modellen, weergaven, sjablonen en URL's hebt ingesteld, kunt u de Django-ontwikkelserver uitvoeren om uw webapplicatie in actie te zien:

python manage.py runserver

Open een webbrowser en ga naar http://127.0.0.1:8000/ om te zien hoe uw Django-webtoepassing draait.

Conclusie

Django maakt het eenvoudig om krachtige en robuuste webapplicaties te bouwen met Python. Deze gids heeft de basis behandeld van het opzetten van een Django-project, het maken van een app, het definiëren van modellen, het maken van weergaven en sjablonen, het configureren van URL's en het uitvoeren van de ontwikkelingsserver. Met Django kunt u eenvoudig schaalbare en onderhoudbare webapplicaties bouwen.