Я пытаюсь создать для приложения на Django, вставка данных работает нормально, но когда я хочу обновить их, они не обновляются, а создают новые. Вот мой код
from django.urls import path, include
from . import views
urlpatterns = [
path('',views.index, name='list'),
path('update/<str:pk>/', views.update, name='update')
]
просмотров код:
from django.shortcuts import render, redirect
from .models import *
from .forms import *
# Create your views here.
#index function
def index(request):
tasks = Task.objects.all()
form = TaskForm()
if request.method =='POST':
form = TaskForm(request.POST)
if form.is_valid():
form.save()
return redirect('/')
context ={'tasks': tasks, 'form':form}
return render(request,'index.html', context)
#update function
def update(request,pk):
tasks = Task.objects.get(id=pk)
form = TaskForm(instance=tasks)
if request.method == 'POST':
form = TaskForm(request.post, instance=tasks)
if form.is_valid():
form.save()
return redirect('/')
context = {'form': form}
return render(request,'update_task.html',context)
update_task. html код
<body>
<h3>Update</h3>
<form method="POST" action="/">
{% csrf_token %}
{{ form }}
<input type="submit" name="submit">
</form>
</body>