To-Do-Liste erstellen mit Django

Aus ahrensburg.city
Zur Navigation springen Zur Suche springen

Um eine To-Do-Liste mit Django zu erstellen, sind folgende Python-Grundlagen essentiell

  • Variablen und Datentypen
  • Kontrollstrukturen
  • Funktionen
  • Module und Pakete
  • Klassen und Objekte

Warum soll man lernen, eine To-Do-Liste mit Django zu erstellen?

Das Erstellen einer To-Do-Liste mit Django ist eine großartige Möglichkeit, um die Grundlagen des Webentwicklungs-Frameworks Django zu erlernen. Durch die Erstellung einer einfachen Anwendung wie einer To-Do-Liste können Sie die verschiedenen Konzepte und Funktionen von Django in der Praxis anwenden und verstehen. Dies umfasst das Erstellen von Modellen, Views, Templates, URLs, Admin-Seiten, Datenbankmigrationen und Formularen.

Funktionalitäten einer To-Do-Liste

Eine To-Do-Liste ist eine Anwendung, mit der Benutzer Aufgaben oder Aktivitäten verwalten können. Die grundlegenden Funktionalitäten einer To-Do-Liste umfassen:

Technologien

Für die Erstellung einer To-Do-Liste mit Django benötigen Sie folgende Technologien:

  • Python: Django ist ein Webentwicklungs-Framework, das in Python geschrieben ist. Sie sollten also über grundlegende Kenntnisse in Python verfügen.
  • Django: Django ist ein leistungsstarkes Webentwicklungs-Framework, das auf Python basiert. Sie sollten mit den Grundlagen von Django vertraut sein, um eine To-Do-Liste zu erstellen.
  • HTML und CSS: Sie benötigen grundlegende Kenntnisse in HTML und CSS, um die Benutzeroberfläche Ihrer To-Do-Liste zu gestalten.
  • Datenbanken: Django unterstützt verschiedene Datenbanken wie SQLite, MySQL und PostgreSQL. Sie sollten über grundlegende Kenntnisse in der Datenbankentwicklung verfügen, um Ihre To-Do-Liste zu speichern und zu verwalten.
  • Git: Git ist ein Versionskontrollsystem, das Ihnen hilft, Änderungen an Ihrem Code zu verfolgen und zu verwalten. Sie sollten über grundlegende Kenntnisse in Git verfügen, um Ihre To-Do-Liste zu verwalten und zu aktualisieren.
  • Terminal: Sie sollten mit der Verwendung des Terminals vertraut sein, um Befehle für die Installation von Django, das Erstellen von Projekten und Apps, das Ausführen von Datenbankmigrationen und das Starten des Entwicklungsservers auszuführen.

Lernplan

Um eine To-Do-Liste mit Django zu erstellen, können Sie den folgenden Lernplan verwenden:

  • Installieren von Django
  • Erstellen eines Django-Projekts
  • Erstellen einer Django-App
  • Definieren von Modellen
  • Erstellen von Views
  • Erstellen von Templates
  • Definieren von URLs
  • Erstellen von Admin-Seiten
  • Durchführen von Datenbankmigrationen
  • Erstellen von Formularen
  • Implementieren von Benutzerinteraktionen
  • Testen und Debuggen
  • Bereitstellen der Anwendung

Schritt-für-Schritt-Anleitung

  1. Installieren Sie Django mit dem Befehl `pip install django`.
  2. Erstellen Sie ein neues Django-Projekt mit `django-admin startproject projektname`.
  3. Erstellen Sie eine neue Django-App mit `python manage.py startapp appname`.
  4. Definieren Sie die Modelle für Ihre To-Do-Liste in der Datei `models.py`.
  5. Erstellen Sie Views, um die Logik für das Hinzufügen, Bearbeiten und Löschen von Aufgaben zu implementieren.
  6. Erstellen Sie Templates, um die Benutzeroberfläche für Ihre To-Do-Liste zu gestalten.
  7. Definieren Sie URLs, um die verschiedenen Ansichten Ihrer To-Do-Liste zu verknüpfen.
  8. Führen Sie Datenbankmigrationen durch, um Ihre Modelle in der Datenbank zu erstellen.
  9. Erstellen Sie Admin-Seiten, um Ihre To-Do-Liste über das Django-Admin-Interface zu verwalten.
  10. Erstellen Sie Formulare, um Benutzereingaben für Ihre To-Do-Liste zu verarbeiten.

Installieren von Django

Um Django zu installieren, führen Sie den folgenden Befehl aus:

pip install django

Erstellen eines Django-Projekts

Um ein neues Django-Projekt zu erstellen, führen Sie den folgenden Befehl aus:

django-admin startproject do_list .

Erstellen einer Django-App

Um eine neue Django-App zu erstellen, führen Sie den folgenden Befehl aus:

python manage.py startapp aufgaben

Definieren der Modelle

Definieren Sie die Modelle für Ihre To-Do-Liste in der Datei `models.py` Ihrer App. Hier ist ein Beispiel für ein einfaches Modell für eine Aufgabe:

from django.db import models

# Create your models here.

class Aufgabe(models.Model):
    titel = models.CharField(max_length=100)
    beschreibung = models.TextField()
    erledigt = models.BooleanField(default=False)
    erstellt_am = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.titel

Erstellen von Views

Erstellen Sie Views, um die Logik für das Hinzufügen, Bearbeiten und Löschen von Aufgaben zu implementieren. Hier ist ein Beispiel für eine einfache View, die alle Aufgaben auflistet:

from django.shortcuts import render
from models import Aufgabe

def aufgaben(request): # Definition der Funktion aufgaben
    aufgaben = Aufgabe.objects.all() # Abfrage aller Aufgaben in der Datenbank
    return render(request, 'aufgaben/aufgaben.html', {'aufgaben': aufgaben}) #  Übergabe der Aufgaben an das Template

def aufgabe(request, aufgabe_id): # Definition der Funktion aufgabe
    aufgabe = Aufgabe.objects.get(pk=aufgabe_id) # Abfrage der Aufgabe mit der ID aufgabe_id
    return render(request, 'aufgaben/aufgabe.html', {'aufgabe': aufgabe}) # Übergabe der Aufgabe an das Template

def erledigen(request, aufgabe_id): # Definition der Funktion erledigen
    aufgabe = Aufgabe.objects.get(pk=aufgabe_id) # Abfrage der Aufgabe mit der ID aufgabe_id
    aufgabe.erledigt = True # Setzen des Attributs erledigt auf True
    aufgabe.save() # Speichern der Änderungen
    return render(request, 'aufgaben/aufgabe.html', {'aufgabe': aufgabe}) # Übergabe der Aufgabe an das Template

def unerledigen(request, aufgabe_id): # Definition der Funktion unerledigen
    aufgabe = Aufgabe.objects.get(pk=aufgabe_id) # Abfrage der Aufgabe mit der ID aufgabe_id
    aufgabe.erledigt = False # Setzen des Attributs erledigt auf False
    aufgabe.save() # Speichern der Änderungen
    return render(request, 'aufgaben/aufgabe.html', {'aufgabe': aufgabe}) # Übergabe der Aufgabe an das Template

def loeschen(request, aufgabe_id): # Definition der Funktion loeschen
    aufgabe = Aufgabe.objects.get(pk=aufgabe_id) # Abfrage der Aufgabe mit der ID aufgabe_id
    aufgabe.delete() # Löschen der Aufgabe
    return render(request, 'aufgaben/aufgaben.html', {'aufgaben': Aufgabe.objects.all()}) # Übergabe aller Aufgaben an das Template

def hinzufuegen(request): # Definition der Funktion hinzufuegen
    if request.method == 'POST': # Prüfen, ob das Formular abgesendet wurde
        titel = request.POST['titel'] # Auslesen des Titels aus dem Formular
        beschreibung = request.POST['beschreibung'] # Auslesen der Beschreibung aus dem Formular
        aufgabe = Aufgabe(titel=titel, beschreibung=beschreibung) # Erstellen einer neuen Aufgabe
        aufgabe.save() # Speichern der Aufgabe
    return render(request, 'aufgaben/hinzufuegen.html') # Anzeigen des Formulars