Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Membina Apl Todo CRUD Django daripada Scratch

Membina Apl Todo CRUD Django daripada Scratch

Patricia Arquette
Patricia Arquetteasal
2024-10-27 17:05:30611semak imbas

Saya percaya cara terbaik untuk mempelajari pembangun tindanan penuh ialah mencipta apl CRUD dalam bahasa itu dengan bahagian hadapan-belakang/hujung yang mudah dan sambungan db.
Jadi panduan ini akan memandu anda membuat aplikasi Todo CRUD (Buat, Baca, Kemas Kini, Padam) mudah menggunakan Django. Kami akan menyediakan projek, mencipta apl dan mengatur segala-galanya dalam struktur direktori yang disyorkan Django.

Github SAYA, Twitter

Prasyarat

Sebelum kami bermula, pastikan anda mempunyai:

  • Python dipasang (sebaik-baiknya versi 3.6 )
  • Django dipasang (pasang menggunakan pip install django jika anda belum lagi)

Gambaran Keseluruhan Langkah

  1. Menyediakan Projek dan Apl Django
  2. Mentakrifkan Model untuk Todo
  3. Mencipta Pandangan untuk Operasi CRUD
  4. Menambah URL untuk setiap Paparan
  5. Mencipta Templat HTML untuk Apl
  6. Menjalankan Pelayan

Langkah 1: Sediakan Projek dan Apl Django

  1. Buat projek Django bernama todo_project:
   django-admin startproject todo_project
   cd todo_project
  1. Buat apl bernama todo:
   python manage.py startapp todo
  1. Struktur Direktori Pada Masa Ini:

Folder anda sepatutnya kelihatan seperti ini:

   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. Daftar Apl dalam todo_project/settings.py: Buka settings.py dan tambah 'todo' pada INSTALLED_APPS:
   INSTALLED_APPS = [
       # Other installed apps
       'todo',
   ]

Langkah 2: Tentukan Model Todo

  1. Tentukan Model Todo dalam todo/models.py:

Tambahkan kod berikut untuk mencipta model dengan medan untuk tugasan (huraian) dan selesai (status).

   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. Gunakan Migrasi:

Selepas mentakrifkan model, jalankan arahan ini untuk mencipta jadual pangkalan data untuk model ini:

   python manage.py makemigrations
   python manage.py migrate

Building a Django CRUD Todo App from Scratch


Langkah 3: Cipta Paparan untuk Operasi CRUD

Tentukan paparan untuk membuat, menyenaraikan, mengemas kini dan memadamkan todo dalam 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')

Langkah 4: Tambah Corak URL

Tentukan URL untuk setiap paparan dalam 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'),
]

Dalam fail urls.py utama, masukkan URL apl:

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

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

Langkah 5: Cipta Templat HTML

Sekarang, buat templat HTML di dalam direktori templat dalam apl todo. Ikuti struktur ini:

todo/
├── migrations/
├── templates/
│   └── todo/
│       ├── list_todos.html
│       ├── create_todo.html
│       └── update_todo.html
├── models.py
├── views.py
└── ...
  1. Buat Struktur Folder Templat:
   mkdir -p todo/templates/todo
  1. Buat Templat:

list_todos.html

Memaparkan senarai tugasan dan menyediakan pautan untuk menambah, mengedit atau memadam tugasan.

   django-admin startproject todo_project
   cd todo_project

create_todo.html

Borang untuk menambah tugasan baharu.

   python manage.py startapp todo

update_todo.html

Borang untuk mengedit tugasan sedia ada.

   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

Langkah 6: Jalankan Pelayan

Sekarang semuanya telah disediakan, jalankan pelayan pembangunan Django untuk menguji apl:

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

Lawati http://127.0.0.1:8000/ dalam penyemak imbas anda. Anda sepatutnya melihat senarai Tugasan dan boleh membuat, mengemas kini dan memadam tugasan.

Building a Django CRUD Todo App from Scratch


Struktur Direktori Akhir

   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


Dan itu sahaja! Anda telah berjaya mencipta apl Django Todo dengan antara muka CRUD. Struktur ini boleh berskala dan kini anda boleh menambah ciri tambahan atau menggayakan apl dengan CSS. Selamat mengekod!

Atas ialah kandungan terperinci Membina Apl Todo CRUD Django daripada Scratch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn