Python Django Crud帮助-更新和删除
我是django的新手,试图完成一个crud项目,但是我在更新和删除方面遇到了问题。我已经尝试了很多故障排除的方法,但我一直都没有找到答案。我已经为它的更新部分提供了错误消息。所以我在寻求建议 错误消息: 在/update/1处出现运行时错误 下面是URL、视图和html的代码 URL URL模式=[Python Django Crud帮助-更新和删除,python,django,django-views,crud,django-urls,Python,Django,Django Views,Crud,Django Urls,我是django的新手,试图完成一个crud项目,但是我在更新和删除方面遇到了问题。我已经尝试了很多故障排除的方法,但我一直都没有找到答案。我已经为它的更新部分提供了错误消息。所以我在寻求建议 错误消息: 在/update/1处出现运行时错误 下面是URL、视图和html的代码 URL URL模式=[ path('admin/', admin.site.urls), path('add/', views.add, name="add"), path('', views.sho
path('admin/', admin.site.urls),
path('add/', views.add, name="add"),
path('', views.show, name="show"),
path('update/<update_id>/', views.update, name="update"),
path('delete/<delete_id>/', views.delete, name="delete"),
def显示(请求):
def更新(请求、更新\u id):
def delete(请求,删除\u id):
**更新Html:**
{%extends'base.html%}
{%block content%}
更新 {%csrf_令牌%} 身份证件 名称 接触
更新记录 显示细节 {%endblock内容%} 非常感谢您的指导,也许我没有看到什么。
提前感谢您是否有关于该错误的更多信息,或者“RuntimeError at/update/1”是您得到的所有输出 在任何情况下,我都会尽力帮助:
def update_student(request, update_id):
student = get_object_or_404(student, id=update_id)
if request.method != 'POST':
form = StudentForm(instance=student)
else:
form = StudentForm(instance=student, data=request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/')
context = {'form': form, 'student': student}
return render(request, 'update.html', context)
def delete(request, delete_id):
template = 'delete.html'
student = get_object_or_404(student, id=delete_id)
if request.method == 'POST':
student.delete()
return HttpResponseRedirect('/')
return render(request, template, {})
关于Django中基于函数的视图的CRUD入门,还有一件事你可以看看这本书:
项目部分>Web应用程序在那里,您会发现Django上使用基于函数的视图制作的教程应用程序,并且比Django原始文档解释得更好。我认为更新不会使用form.save()。有一种方法可以更新数据库中的实例
student = Student.objects.get(id=update_id)
form = StudentForm(request.POST, instance=student)
if form.is_valid():
form.save()
return HttpResponseRedirect('/')
return render(request, 'update.html', {'student':student})
student = Student.objects.get(id=delete_id)
student.delete()
return HttpResponseRedirect('/')
def update_student(request, update_id):
student = get_object_or_404(student, id=update_id)
if request.method != 'POST':
form = StudentForm(instance=student)
else:
form = StudentForm(instance=student, data=request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/')
context = {'form': form, 'student': student}
return render(request, 'update.html', context)
def delete(request, delete_id):
template = 'delete.html'
student = get_object_or_404(student, id=delete_id)
if request.method == 'POST':
student.delete()
return HttpResponseRedirect('/')
return render(request, template, {})