python 找不到参数为“(',)”的“update-project”的反向操作,尝试了1个模式:['更新\\-项目/(?P< pk>[0-9]+)/\\Z']

ymdaylpp  于 2023-01-29  发布在  Python
关注(0)|答案(1)|浏览(111)

尝试在Django中为一个项目模型创建一个更新函数,但是我遇到了一个问题。
更新视图功能

@login_required
def updateProject(request, pk):
    project = Project.objects.get(id=pk)
    form = ProjectForm(instance=project)
    
    if request.method == 'POST':
        project.name = request.POST.get('name')
        project.description = request.POST.get('description')
        project.save()
        
        return redirect('project', pk=project.id)
    
    context = {'form': form, 'project': project}
    return render(request, 'projects/project_form.html', context)

这就是我在模板中调用它的方式

<li><a href="{% url 'update-project' project.id %}">Edit</a></li>

这就是URL模式

path('update-project/<int:pk>/', views.updateProject, name='update-project'),

我错过了什么?

f5emj3cl

f5emj3cl1#

重定向到我常用的另一个URL:

return HttpResponseRedirect(reverse('update-project', args=(project.id,)))

而不是你

return redirect('project', pk=project.id)

这可能导致POST后出现错误

相关问题