ホームページ >バックエンド開発 >Python チュートリアル >Django CRUD Todo アプリをゼロから構築する
フルスタック開発を学ぶ最良の方法は、単純なフロントバック/エンドと DB 接続を使用して、その言語で CRUD アプリを作成することだと信じています。
したがって、このガイドでは、Django を使用して単純な CRUD (作成、読み取り、更新、削除) Todo アプリケーションを作成する手順を説明します。プロジェクトをセットアップし、アプリを作成し、Django の推奨ディレクトリ構造ですべてを整理します。
始める前に、次のものが揃っていることを確認してください。
django-admin startproject todo_project cd todo_project
python manage.py startapp todo
フォルダーは次のようになります:
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
INSTALLED_APPS = [ # Other installed apps 'todo', ]
次のコードを追加して、タスク (説明) と完了 (ステータス) のフィールドを持つモデルを作成します。
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
モデルを定義した後、次のコマンドを実行して、このモデルのデータベース テーブルを作成します。
python manage.py makemigrations python manage.py migrate
todo/views.py で Todo を作成、リスト、更新、削除するためのビューを定義します:
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')
todo/urls.py で各ビューの URL を定義します:
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'), ]
メインの urls.py ファイルに、アプリの URL を含めます:
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('todo.urls')), ]
次に、todo アプリ内のテンプレート ディレクトリ内に HTML テンプレートを作成します。次の構造に従ってください:
todo/ ├── migrations/ ├── templates/ │ └── todo/ │ ├── list_todos.html │ ├── create_todo.html │ └── update_todo.html ├── models.py ├── views.py └── ...
mkdir -p todo/templates/todo
タスクのリストを表示し、タスクを追加、編集、または削除するためのリンクを提供します。
django-admin startproject todo_project cd todo_project
新しいタスクを追加するためのフォーム。
python manage.py startapp todo
既存のタスクを編集するためのフォーム。
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
すべてのセットアップが完了したので、Django 開発サーバーを実行してアプリをテストします。
INSTALLED_APPS = [ # Other installed apps 'todo', ]
ブラウザで http://127.0.0.1:8000/ にアクセスします。 Todo リストが表示され、タスクを作成、更新、削除できるようになります。
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
それで終わりです! CRUD インターフェイスを備えた Django Todo アプリが正常に作成されました。この構造はスケーラブルであり、追加機能を追加したり、CSS を使用してアプリのスタイルを設定したりできるようになりました。コーディングを楽しんでください!
以上がDjango CRUD Todo アプリをゼロから構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。