Bygga en Python-webbapplikation med Django

Django är ett Python-webbramverk på hög nivå som uppmuntrar snabb utveckling och ren, pragmatisk design. Det tar hand om mycket av besväret med webbutveckling, vilket gör att utvecklare kan fokusera på att skriva appen istället för att uppfinna hjulet på nytt. Den här artikeln guidar dig genom att bygga en enkel webbapplikation med Django.

Komma igång med Django

Innan du kan börja bygga en Django-webbapplikation måste du installera Django. Du kan installera Django med pip, Pythons paketinstallationsprogram:

pip install django

När Django är installerat kan du skapa ett nytt Django-projekt genom att köra följande kommando i din terminal eller kommandotolk:

django-admin startproject myproject

Detta kommando skapar en ny katalog som heter myproject med nödvändiga filer för att komma igång. Navigera till denna katalog:

cd myproject

Skapa en Django-applikation

Inuti ditt Django-projekt kan du skapa individuella applikationer som hanterar specifik funktionalitet. Du kan till exempel ha en app för användarautentisering, en annan för blogginlägg, etc. För att skapa en app, kör följande kommando:

python manage.py startapp myapp

Detta skapar en ny katalog som heter myapp som innehåller filer som models.py, views.py och tests.py, bland andra. Du kommer att definiera dina modeller, vyer och mallar i den här appen.

Definiera modeller

Django-modeller definierar strukturen för dina data och representeras som Python-klasser. Du definierar dem i filen models.py i din 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

När du väl har definierat dina modeller måste du skapa databastabeller för dem. Kör följande kommandon för att tillämpa migreringarna:

python manage.py makemigrations
python manage.py migrate

Skapa vyer och mallar

Django-vyer hanterar logiken i din applikation och interagerar med modeller för att rendera data i mallar. En enkel vy kan skapas i filen 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})

Ovanstående kod hämtar alla blogginlägg från databasen och skickar dem till en mall som heter home.html. Mallen home.html lagras i en katalog som heter templates i din 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>

Konfigurera webbadresser

För att koppla vyer till webbadresser måste du definiera URL-mönster. Skapa en fil med namnet urls.py i din appkatalog och lägg till följande kod:

from django.urls import path
from . import views

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

Inkludera sedan den här appens URL-mönster i huvudprojektets urls.py-fil:

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

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

Kör utvecklingsservern

När du har ställt in dina modeller, vyer, mallar och webbadresser kan du köra Django-utvecklingsservern för att se din webbapplikation i funktion:

python manage.py runserver

Öppna en webbläsare och navigera till http://127.0.0.1:8000/ för att se din Django-webbapplikation köra.

Slutsats

Django gör det enkelt att bygga kraftfulla och robusta webbapplikationer med Python. Den här guiden har täckt grunderna för att ställa in ett Django-projekt, skapa en app, definiera modeller, skapa vyer och mallar, konfigurera webbadresser och köra utvecklingsservern. Med Django kan du enkelt bygga skalbara och underhållbara webbapplikationer.