[PYTHON] Créer une application Todo avec Django ⑤ Créer une fonction d'édition de tâches

Ensuite, nous allons créer une fonction d'édition de tâches.

Liste des articles

Créer une application Todo avec Django ① Créer un environnement avec Docker Créer une application Todo avec Django ② Créer une page de liste de dossiers Créer une application Todo avec Django ③ Créer une page de liste de tâches Création de l'application Todo avec Django ④ Implémentation de la fonction de création de dossier et de tâche Création d'une application Todo avec Django ⑤ Création d'une fonction d'édition de tâches

Paramètres d'URL

Tout d'abord, définissez l'URL. Ajoutez la phrase suivante à todo / urls.py.

todo/urls.py


path('<int:id>/tasks/<int:task_id>', views.edit_task, name='tasks.edit')

Insérer un lien

Insérez le lien dans la partie ʻedit de templates / index.html` comme indiqué ci-dessous.

templates/index.html


<a href="{% url 'tasks.edit' id=current_folder_id task_id=task.id %}}">Éditer</a>

modèle

Créez ʻedit.html dans le répertoire templates. Puis éditez ʻedit.html comme suit.

templates/edit.html


{% extends 'base.html' %}

{% block styles %}
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
  <link rel="stylesheet" href="https://npmcdn.com/flatpickr/dist/themes/material_blue.css">
{% endblock %}

{% block content %}
  <div class="container">
    <div class="row">
      <div class="col col-md-offset-3 col-md-6">
        <nav class="panel panel-default">
          <div class="panel-heading">Modifier la tâche</div>
          <div class="panel-body">
            <form method="POST">
              {% csrf_token %}
              {{ form.as_p }}
              <div class="text-right">
                <button type="submit" class="btn btn-primary">Envoyer</button>
              </div>
            </form>
          </div>
        </nav>
      </div>
    </div>
  </div>
{% endblock %}

{% block scripts %}
  <script src="https://npmcdn.com/flatpickr/dist/flatpickr.min.js"></script>
  <script src="https://npmcdn.com/flatpickr/dist/l10n/ja.js"></script>
  <script>
    flatpickr(document.getElementsByName('due_date'), {
      locale: 'ja',
      minDate: new Date()
    });
  </script>
{% endblock %}

Ensuite, j'écrirai une vue.

View Ajoutez la méthode ʻedit_task` suivante à la vue.

views.py


def edit_task(request, id, task_id):
    #Obtenez la tâche sélectionnée
    task = get_object_or_404(Task, id=task_id)
    if request.method == "POST":
        form = TaskForm(request.POST, instance=task)
        if form.is_valid():
            task = form.save(commit=False)
            task.save()
            return redirect('tasks.index', id=task.folder_id.id)
    else:
        form = TaskForm(instance=task)
    return render(request, 'edit.html', {'form': form}, {'task':task})

Lorsque des données sont ajoutées à request.POST, le traitement de l'instruction if est écrit afin que le contenu saisi dans le formulaire soit sauvegardé dans la base de données.

Achevée!

C'est la fin de ce chapitre et l'application Todo est terminée! Le code jusqu'à présent peut être trouvé dans la [branche chapitre5] du dépôt (https://github.com/takusugar0/django_todo/tree/chapter5).

À partir de là, je pense que vous pouvez également ajouter une fonction de suppression ou une fonction d'authentification, donc je pense que c'est une bonne idée de la personnaliser! Merci de vous référer à ce tutoriel!

Liste des articles

Créer une application Todo avec Django ① Créer un environnement avec Docker Créer une application Todo avec Django ② Créer une page de liste de dossiers Créer une application Todo avec Django ③ Créer une page de liste de tâches Création de l'application Todo avec Django ④ Implémentation de la fonction de création de dossier et de tâche Création d'une application Todo avec Django ⑤ Création d'une fonction d'édition de tâches

Recommended Posts

Créer une application Todo avec Django ⑤ Créer une fonction d'édition de tâches
Créer une application Todo avec Django REST Framework + Angular
Créer une application Todo avec Django ④ Implémenter la fonction de création de dossier et de tâche
Créer une application Todo avec Django ① Créer un environnement avec Docker
Créer une page d'accueil avec django
Créer un téléchargeur de fichiers avec Django
Créer un décorateur de fonction Python avec Class
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Page de création de décalage)
Créer une application graphique avec Tkinter de Python
Créez une application Web simple avec Flask
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Introduction)
Créez un tableau de bord pour les appareils réseau avec Django!
Procédure de création d'application multi-plateforme avec kivy
Créez une application Hello World avec un seul fichier avec django
Liste de tâches simple créée avec Python + Django
Jusqu'à ce que vous créiez une nouvelle application dans Django
Créer un planning Django
Créer une liste Django Todo
Essayez de créer un site de gestion Todo en utilisant WebSocket avec Django (Swamp Dragon)
Créez une application graphique native avec Py2app et Tkinter
[Pratique] Créez une application Watson avec Python! # 2 [Fonction de traduction]
Déployer l'application Django créée avec PTVS sur Azure
À moi-même en tant que débutant Django (1) -Création d'un projet / application-
À moi-même en tant que débutant Django (4) --Créer une application mémo-
Créer un environnement django avec docker-compose (MariaDB + Nginx + uWSGI)
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Ecrire un modèle de base)
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Traitement d'authentification)
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Expérience sur la page d'administration)
[Go language] Vous pouvez créer une application TUI avec Elm Architecture Créez une application ToDo légèrement riche avec bubbletea
Application Todo avec le plugin django-bootstrap-modal-forms
Créer une fonction en Python
Créer une API avec Django
Création de liste de tâches [Python Django]
Créer un répertoire avec python
Créez une application de gestion de partition shogi à l'aide de Django 4 ~ Créer une vue ~
Créez une application d'apprentissage automatique avec ABEJA Platform + LINE Bot
Créez une application de tableau d'affichage à partir de zéro avec Django. (Partie 2)
Créez une application de tableau d'affichage à partir de zéro avec Django. (Partie 3)
Créez une API Web capable de fournir des images avec Django
Créez une API d'intégration sociale pour les applications smartphone avec Django
[Python] Créer un écran pour le code d'état HTTP 403/404/500 avec Django
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Conception du modèle de base de données)
Étapes pour créer un projet Django
Créez une application de gestion de score shogi à l'aide de Django 2 ~ Paramètres de la base de données ~
Créez un fichier temporaire avec django sous forme de zip et renvoyez-le
Créez une application de gestion de partition shogi à l'aide de Django 6 ~ Split Template ~
Créez un environnement virtuel avec Python!
Les utilisateurs de Rails essaient de créer un moteur de blog simple avec Django
Création et déploiement d'applications Django (PTVS) à l'aide du stockage Azure Table
Django Tips-Créez un site de classement avec Django-
Implémenter l'application Django sur Hy
Créer une application Web avec Django
Créez une application de scraping avec Python + Django + AWS et modifiez les tâches
Créer un filtre avec un modèle django
Créer un lecteur vidéo avec PySimpleGUI + OpenCV 3 Ajout de la fonction de masque
Créez un stepper de poisson avec numpy.random
Créer une API REST pour faire fonctionner dynamodb avec le Framework Django REST
Créer un bot LINE avec Django