Heim >Backend-Entwicklung >Python-Tutorial >Erstellen einer Django CRUD Todo-App von Grund auf

Erstellen einer Django CRUD Todo-App von Grund auf

Patricia Arquette
Patricia ArquetteOriginal
2024-10-27 17:05:30713Durchsuche

Ich glaube, der beste Weg, Full-Stack-Entwicklung zu lernen, besteht darin, eine CRUD-App in dieser Sprache mit einfachem Front-Back/End und einer Datenbankverbindung zu erstellen.
Dieser Leitfaden führt Sie durch die Erstellung einer einfachen CRUD-Todo-Anwendung (Erstellen, Lesen, Aktualisieren, Löschen) mit Django. Wir richten das Projekt ein, erstellen eine App und organisieren alles in der von Django empfohlenen Verzeichnisstruktur.

MEIN Github, Twitter

Voraussetzungen

Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Python installiert (vorzugsweise Version 3.6)
  • Django installiert (installieren Sie es mit pip install django, falls Sie es noch nicht getan haben)

Übersicht über die Schritte

  1. Einrichten des Django-Projekts und der Django-App
  2. Definieren des Modells für Todo
  3. Ansichten für CRUD-Operationen erstellen
  4. Hinzufügen von URLs für jede Ansicht
  5. HTML-Vorlagen für die App erstellen
  6. Ausführen des Servers

Schritt 1: Richten Sie das Django-Projekt und die Django-App ein

  1. Erstellen Sie ein Django-Projekt mit dem Namen todo_project:
   django-admin startproject todo_project
   cd todo_project
  1. Erstellen Sie eine App mit dem Namen todo:
   python manage.py startapp todo
  1. Verzeichnisstruktur an dieser Stelle:

Ihr Ordner sollte so aussehen:

   todo_project/
   ├── manage.py
   ├── todo/                  # App directory created
   │   ├── migrations/
   │   ├── __init__.py
   │   ├── admin.py
   │   ├── apps.py
   │   ├── models.py
   │   ├── tests.py
   │   ├── views.py
   └── todo_project/
       ├── __init__.py
       ├── asgi.py
       ├── settings.py
       ├── urls.py
       ├── wsgi.py
  1. Registrieren Sie die App in todo_project/settings.py: Öffnen Sie „settings.py“ und fügen Sie „todo“ zu INSTALLED_APPS hinzu:
   INSTALLED_APPS = [
       # Other installed apps
       'todo',
   ]

Schritt 2: Definieren Sie das Todo-Modell

  1. Definieren Sie das Todo-Modell in todo/models.py:

Fügen Sie den folgenden Code hinzu, um ein Modell mit Feldern für Aufgabe (Beschreibung) und abgeschlossen (Status) zu erstellen.

   from django.db import models

   class Todo(models.Model):
       task = models.CharField(max_length=200)
       completed = models.BooleanField(default=False)

       def __str__(self):
           return self.task
  1. Migrationen anwenden:

Nachdem Sie das Modell definiert haben, führen Sie diese Befehle aus, um die Datenbanktabellen für dieses Modell zu erstellen:

   python manage.py makemigrations
   python manage.py migrate

Building a Django CRUD Todo App from Scratch


Schritt 3: Ansichten für CRUD-Vorgänge erstellen

Definieren Sie Ansichten zum Erstellen, Auflisten, Aktualisieren und Löschen von Aufgaben in todo/views.py:

from django.shortcuts import render, redirect
from .models import Todo

# Create a new Todo
def create_todo(request):
    if request.method == 'POST':
        task = request.POST['task']
        Todo.objects.create(task=task)
        return redirect('list_todos')
    return render(request, 'todo/create_todo.html')

# List all Todos
def list_todos(request):
    todos = Todo.objects.all()
    return render(request, 'todo/list_todos.html', {'todos': todos})

# Update a Todo
def update_todo(request, todo_id):
    todo = Todo.objects.get(id=todo_id)
    if request.method == 'POST':
        todo.task = request.POST['task']
        todo.completed = 'completed' in request.POST
        todo.save()
        return redirect('list_todos')
    return render(request, 'todo/update_todo.html', {'todo': todo})

# Delete a Todo
def delete_todo(request, todo_id):
    todo = Todo.objects.get(id=todo_id)
    todo.delete()
    return redirect('list_todos')

Schritt 4: URL-Muster hinzufügen

Definieren Sie die URLs für jede Ansicht in todo/urls.py:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.list_todos, name='list_todos'),
    path('create/', views.create_todo, name='create_todo'),
    path('update/<int:todo_id>/', views.update_todo, name='update_todo'),
    path('delete/<int:todo_id>/', views.delete_todo, name='delete_todo'),
]

Fügen Sie in die Hauptdatei urls.py die URLs der App ein:

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

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

Schritt 5: HTML-Vorlagen erstellen

Erstellen Sie nun HTML-Vorlagen im Vorlagenverzeichnis der Todo-App. Folgen Sie dieser Struktur:

todo/
├── migrations/
├── templates/
│   └── todo/
│       ├── list_todos.html
│       ├── create_todo.html
│       └── update_todo.html
├── models.py
├── views.py
└── ...
  1. Erstellen Sie die Ordnerstruktur für Vorlagen:
   mkdir -p todo/templates/todo
  1. Erstellen Sie die Vorlagen:

list_todos.html

Zeigt eine Liste von Aufgaben an und stellt Links zum Hinzufügen, Bearbeiten oder Löschen von Aufgaben bereit.

   django-admin startproject todo_project
   cd todo_project

create_todo.html

Ein Formular zum Hinzufügen einer neuen Aufgabe.

   python manage.py startapp todo

update_todo.html

Ein Formular zum Bearbeiten einer vorhandenen Aufgabe.

   todo_project/
   ├── manage.py
   ├── todo/                  # App directory created
   │   ├── migrations/
   │   ├── __init__.py
   │   ├── admin.py
   │   ├── apps.py
   │   ├── models.py
   │   ├── tests.py
   │   ├── views.py
   └── todo_project/
       ├── __init__.py
       ├── asgi.py
       ├── settings.py
       ├── urls.py
       ├── wsgi.py

Schritt 6: Führen Sie den Server aus

Da nun alles eingerichtet ist, führen Sie den Django-Entwicklungsserver aus, um die App zu testen:

   INSTALLED_APPS = [
       # Other installed apps
       'todo',
   ]

Besuchen Sie http://127.0.0.1:8000/ in Ihrem Browser. Sie sollten die Todo-Liste sehen und in der Lage sein, Aufgaben zu erstellen, zu aktualisieren und zu löschen.

Building a Django CRUD Todo App from Scratch


Endgültige Verzeichnisstruktur

   from django.db import models

   class Todo(models.Model):
       task = models.CharField(max_length=200)
       completed = models.BooleanField(default=False)

       def __str__(self):
           return self.task

Building a Django CRUD Todo App from Scratch


Und das ist es! Sie haben erfolgreich eine Django Todo-App mit einer CRUD-Schnittstelle erstellt. Diese Struktur ist skalierbar und Sie können jetzt zusätzliche Funktionen hinzufügen oder die App mit CSS gestalten. Viel Spaß beim Codieren!

Das obige ist der detaillierte Inhalt vonErstellen einer Django CRUD Todo-App von Grund auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn