Als nächstes erstellen wir eine Aufgabenbearbeitungsfunktion.
Erstellen einer Todo-App mit Django ① Erstellen einer Umgebung mit Docker Todo-App mit Django erstellen ② Seite mit Ordnerliste erstellen Todo-App mit Django erstellen ③ Seite mit Aufgabenliste erstellen Todo-App mit Django erstellen ④ Ordner- und Aufgabenerstellungsfunktion implementieren Erstellen einer Todo-App mit Django ⑤ Erstellen einer Aufgabenbearbeitungsfunktion
Stellen Sie zuerst die URL ein. Fügen Sie den folgenden Satz zu "todo / urls.py" hinzu.
todo/urls.py
path('<int:id>/tasks/<int:task_id>', views.edit_task, name='tasks.edit')
Fügen Sie den Link wie unten gezeigt in den Teil "Bearbeiten" von "templates / index.html" ein.
templates/index.html
<a href="{% url 'tasks.edit' id=current_folder_id task_id=task.id %}}">Bearbeiten</a>
Erstellen Sie "edit.html" im Verzeichnis "templates". Bearbeiten Sie dann "edit.html" wie folgt.
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">Aufgabe bearbeiten</div>
<div class="panel-body">
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<div class="text-right">
<button type="submit" class="btn btn-primary">Senden</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 %}
Als nächstes werde ich eine Ansicht schreiben.
View Fügen Sie der Ansicht die folgende Methode "edit_task" hinzu.
views.py
def edit_task(request, id, task_id):
#Holen Sie sich die ausgewählte Aufgabe
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})
Wenn Daten zu request.POST hinzugefügt werden, wird die Verarbeitung der if-Anweisung so geschrieben, dass der im Formular eingegebene Inhalt in der Datenbank gespeichert wird.
Dies ist das Ende dieses Kapitels und die Todo-App ist fertig! Der bisherige Code befindet sich im [Kapitel 5-Zweig] des Repositorys (https://github.com/takusugar0/django_todo/tree/chapter5).
Ich denke, Sie können von hier aus auch eine Löschfunktion oder eine Authentifizierungsfunktion hinzufügen. Ich denke, es ist eine gute Idee, sie anzupassen! Vielen Dank, dass Sie sich auf dieses Tutorial bezogen haben!
Erstellen einer Todo-App mit Django ① Erstellen einer Umgebung mit Docker Todo-App mit Django erstellen ② Seite mit Ordnerliste erstellen Todo-App mit Django erstellen ③ Seite mit Aufgabenliste erstellen Todo-App mit Django erstellen ④ Ordner- und Aufgabenerstellungsfunktion implementieren Erstellen einer Todo-App mit Django ⑤ Erstellen einer Aufgabenbearbeitungsfunktion
Recommended Posts