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?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

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