Erstellen einer Django CRUD Todo-App von Grund auf

Patricia Arquette
Freigeben: 2024-10-27 17:05:30
Original
619 Leute haben es durchsucht

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
Nach dem Login kopieren
Nach dem Login kopieren
  1. Erstellen Sie eine App mit dem Namen todo:
   python manage.py startapp todo
Nach dem Login kopieren
Nach dem Login kopieren
  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
Nach dem Login kopieren
Nach dem Login kopieren
  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',
   ]
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren
  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
Nach dem Login kopieren

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')
Nach dem Login kopieren

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'),
]
Nach dem Login kopieren

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')),
]
Nach dem Login kopieren

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
└── ...
Nach dem Login kopieren
  1. Erstellen Sie die Ordnerstruktur für Vorlagen:
   mkdir -p todo/templates/todo
Nach dem Login kopieren
  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
Nach dem Login kopieren
Nach dem Login kopieren

create_todo.html

Ein Formular zum Hinzufügen einer neuen Aufgabe.

   python manage.py startapp todo
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

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',
   ]
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!