Maison > développement back-end > Tutoriel Python > Créer une application Django CRUD Todo à partir de zéro

Créer une application Django CRUD Todo à partir de zéro

Patricia Arquette
Libérer: 2024-10-27 17:05:30
original
737 Les gens l'ont consulté

Je pense que la meilleure façon d'apprendre le développement full-stack est de créer une application CRUD dans ce langage avec un simple front-back/end et une connexion à la base de données.
Ce guide vous guidera donc dans la création d’une simple application Todo CRUD (Créer, Lire, Mettre à jour, Supprimer) à l’aide de Django. Nous allons configurer le projet, créer une application et tout organiser dans la structure de répertoires recommandée par Django.

MON Github, Twitter

Conditions préalables

Avant de commencer, assurez-vous d'avoir :

  • Python installé (de préférence version 3.6)
  • Django installé (installez en utilisant pip install django si vous ne l'avez pas encore fait)

Aperçu des étapes

  1. Configuration du projet et de l'application Django
  2. Définir le modèle pour Todo
  3. Création de vues pour les opérations CRUD
  4. Ajout d'URL pour chaque vue
  5. Création de modèles HTML pour l'application
  6. Exécuter le serveur

Étape 1 : configurer le projet et l'application Django

  1. Créez un projet Django nommé todo_project :
   django-admin startproject todo_project
   cd todo_project
Copier après la connexion
Copier après la connexion
  1. Créez une application nommée todo :
   python manage.py startapp todo
Copier après la connexion
Copier après la connexion
  1. Structure des répertoires à ce stade :

Votre dossier devrait ressembler à ceci :

   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
Copier après la connexion
Copier après la connexion
  1. Enregistrez l'application dans todo_project/settings.py : Ouvrez settings.py et ajoutez « todo » à INSTALLED_APPS :
   INSTALLED_APPS = [
       # Other installed apps
       'todo',
   ]
Copier après la connexion
Copier après la connexion

Étape 2 : Définir le modèle Todo

  1. Définissez le modèle Todo dans todo/models.py :

Ajoutez le code suivant pour créer un modèle avec des champs pour la tâche (description) et terminé (statut).

   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
Copier après la connexion
Copier après la connexion
  1. Appliquer les migrations :

Après avoir défini le modèle, exécutez ces commandes pour créer les tables de base de données pour ce modèle :

   python manage.py makemigrations
   python manage.py migrate
Copier après la connexion

Building a Django CRUD Todo App from Scratch


Étape 3 : Créer des vues pour les opérations CRUD

Définissez des vues pour créer, répertorier, mettre à jour et supprimer des tâches dans 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')
Copier après la connexion

Étape 4 : ajouter des modèles d'URL

Définissez les URL pour chaque vue dans 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'),
]
Copier après la connexion

Dans le fichier urls.py principal, incluez les URL de l'application :

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('todo.urls')),
]
Copier après la connexion

Étape 5 : Créer des modèles HTML

Maintenant, créez des modèles HTML dans le répertoire des modèles de l'application Todo. Suivez cette structure :

todo/
├── migrations/
├── templates/
│   └── todo/
│       ├── list_todos.html
│       ├── create_todo.html
│       └── update_todo.html
├── models.py
├── views.py
└── ...
Copier après la connexion
  1. Créer la structure des dossiers de modèles :
   mkdir -p todo/templates/todo
Copier après la connexion
  1. Créer les modèles :

list_todos.html

Affiche une liste de tâches et fournit des liens pour ajouter, modifier ou supprimer des tâches.

   django-admin startproject todo_project
   cd todo_project
Copier après la connexion
Copier après la connexion

créer_todo.html

Un formulaire pour ajouter une nouvelle tâche.

   python manage.py startapp todo
Copier après la connexion
Copier après la connexion

update_todo.html

Un formulaire pour modifier une tâche existante.

   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
Copier après la connexion
Copier après la connexion

Étape 6 : Exécutez le serveur

Maintenant que tout est configuré, lancez le serveur de développement Django pour tester l'application :

   INSTALLED_APPS = [
       # Other installed apps
       'todo',
   ]
Copier après la connexion
Copier après la connexion

Visitez http://127.0.0.1:8000/ dans votre navigateur. Vous devriez voir la liste Todo et pouvoir créer, mettre à jour et supprimer des tâches.

Building a Django CRUD Todo App from Scratch


Structure du répertoire final

   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
Copier après la connexion
Copier après la connexion

Building a Django CRUD Todo App from Scratch


Et c'est tout ! Vous avez créé avec succès une application Django Todo avec une interface CRUD. Cette structure est évolutive et vous pouvez désormais ajouter des fonctionnalités supplémentaires ou styliser l'application avec CSS. Bon codage !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal