Tutorials  /  Python

Django-Modelle erstellen: Ein Leitfaden

Ccentron Redaktion · Januar 2025 ·3 Min. Lesezeit ·Python, Tutorial

Einleitung

Im vorherigen Tutorial „Wie Sie eine Django-App erstellen und mit einer Datenbank verbinden“ haben wir erklärt, wie man eine MySQL-Datenbank erstellt, eine Django-Anwendung startet und sie mit einer MySQL-Datenbank verbindet.

In diesem Tutorial erstellen wir die Django-Modelle, die die Felder und das Verhalten der Daten der Blog-Anwendung definieren, die wir speichern möchten. Diese Modelle bilden die Daten Ihrer Django-Anwendung auf die Datenbank ab. Django verwendet sie, um über die objektrelationale Zuordnungs-API (ORM) Datenbanktabellen zu generieren, die als „Modelle“ bezeichnet werden.

VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

Voraussetzungen für Django-Modelle erstellen

Dieses Tutorial ist Teil der Django-Entwicklungsserie und eine Fortsetzung dieser Serie. Folgende Voraussetzungen sollten gegeben sein:

  • Sie haben Django in Version 4 oder höher installiert.
  • Sie haben Ihre Django-App mit einer Datenbank verbunden.
  • Sie arbeiten mit einem Unix-basierten Betriebssystem, vorzugsweise einem Ubuntu 22.04 Cloud-Server.

Schritt 1 — Django-Modelle erstellen

Um der modularen Philosophie von Django gerecht zu werden, erstellen wir eine Django-App innerhalb unseres Projekts, die alle notwendigen Dateien für die Erstellung der Blog-Website enthält.

Konsole
cd ~/my_blog_app
. env/bin/activate
cd blog
python manage.py startapp blogsite

Schritt 2 — Das Posts-Modell hinzufügen

Öffnen und bearbeiten Sie die Datei models.py, um den Code für die Erstellung eines Post-Modells hinzuzufügen:

Python
from django.db import models
from django.template.defaultfilters import slugify
from django.contrib.auth.models import User
from django.urls import reverse

class Post(models.Model):
    title = models.CharField(max_length=255)
    slug = models.SlugField(unique=True, max_length=255)
    content = models.TextField()
    created_on = models.DateTimeField(auto_now_add=True)
    author = models.TextField()

    def get_absolute_url(self):
        return reverse('blog_post_detail', args=[self.slug])
    
    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(self.title)
        super(Post, self).save(*args, **kwargs)

    class Meta:
        ordering = ['created_on']

        def __unicode__(self):
            return self.title

Schritt 3 — Einstellungen aktualisieren

Fügen Sie die App blogsite zur INSTALLED_APPS-Sektion in der Datei settings.py hinzu:

Code
INSTALLED_APPS = [
    'blogsite',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Schritt 4 — Migrationen erstellen

Erstellen Sie Migrationsdateien für die Modelle:

Konsole
python manage.py makemigrations

Wenden Sie die Migrationen auf die Datenbank an:

Konsole
python manage.py migrate

Schritt 5 — Datenbankschema überprüfen

Melden Sie sich bei MySQL an und überprüfen Sie, ob die Tabellen erfolgreich erstellt ist:

Code
SHOW TABLES;
DESCRIBE blogsite_comment;
DESCRIBE blogsite_post;

Fazit zu Django-Modelle erstellen

In diesem Tutorial haben wir erfolgreich Modelle für grundlegende Funktionen in einer Blog-Webanwendung hinzugefügt. Sie haben gelernt, wie man Django-Modelle effizient erstellt und anpasst. Zudem haben Sie den Prozess von Migrationen detailliert verstanden. Diese Migrationen ermöglichen es, Datenbanktabellen aus Ihren Modellen zu generieren. Wir haben die Verbindung zwischen Django-Modellen und MySQL-Datenbanken ausführlich behandelt. Nutzen Sie dieses Wissen, um komplexere Anwendungen zu entwickeln.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren