Django 更新函数中的错误在哪里?
我有一个django项目,它包括一个要提交的表单,允许用户创建一个更新存储数据的表单 问题在于,一旦用户进入更新页面,系统就会崩溃并显示以下错误: 赋值前引用的局部变量“可疑” url.pyDjango 更新函数中的错误在哪里?,django,ajax,forms,runtime-error,Django,Ajax,Forms,Runtime Error,我有一个django项目,它包括一个要提交的表单,允许用户创建一个更新存储数据的表单 问题在于,一旦用户进入更新页面,系统就会崩溃并显示以下错误: 赋值前引用的局部变量“可疑” url.py 我将非常感谢任何帮助您的URL需要pk。在视图返回语句的上下文中,您没有将可疑id作为pk传递 path('update/<int:pk>/',update,name = 'update'), path('update/',update,name='update'), suspect.id将
我将非常感谢任何帮助您的URL需要pk。在视图返回语句的上下文中,您没有将可疑id作为pk传递
path('update/<int:pk>/',update,name = 'update'),
path('update/',update,name='update'),
suspect.id将用作
{%url…%}
的参数,但我将在update函数中作为参数提供该id。member=get\u object\u或_404(可疑,pk=pk),您需要在视图的返回语句中给出pk作为上下文的一部分。因此,您的上下文将是context={“pk”:suspect.id,“title”:member.member_name,“instance”:member}看起来您编辑了原始问题。现在您需要在views.py中导入suspect。为了返回到上下文中,我需要在ajax调用中分配它,对吗?能够在函数中获取请求。。是的,我导入模型类member=get\u object\u或\u 404(可疑,pk=pk)
。变量可疑在哪里定义?它没有在函数前面的任何地方定义,这就是为什么会出现异常。@solarissmoke my bad我添加了变量成员。但是仍然是相同的错误添加成员没有帮助。。。代码中仍然没有定义可疑变量。整行中还有其他各种语法错误。没有可疑变量更改为成员变量
{% extends "base.html" %}
{% load static %}
{% block body %}
<body>
<div class="lines">
<div class="line"></div><div class="line"></div>
<div class="line"></div><div class="line"></div>
<div class="line"></div><div class="line"></div><div class="line"></div>
</div>
{% for member in instance %}
<form enctype="multipart/form-data">
<div id='left-column-Input' class="formInput" include="select()">
<div class="forminputs">
<input type="text" id="fname" name="fname" autocomplete="off" required />
<label for="fname" class="label-name">
<span class="content-name" name="fname">{{member.member_name}}</span>
</label>
</div>
<div class="forminputs">
<input type="text" id="lname" name="lname" autocomplete="off" required />
<label for="lname" class="label-name">
<span class="content-name" name="lname">{{member.member_last_name}}</span>
</label></div>
<div class="forminputs">
<input type="text" id="fatherName" name="fatherName" autocomplete="off" required />
<label for="fatherName" class="label-name">
<span class="content-name" name="fatherName">{{member.member_father_name}}</span>
</label></div>
<div class="home-Button">
<button id="edit" name="edit" type="submit">Edit</button>
<button id="clear" name="clear" type="submit">Clear</button>
</div>
</div>
{% endfor %}
<script type="text/javascript">
$(document).ready(function(){
$("#edit").on('click',function(event){
event.preventDefault()
fName=$('#fname').val()
lName = $('#lname').val()
fatherName = $('#fatherName').val()
$.ajax({
url:'/blog/update',
method:'POST',
data: {
FName: fName,
LName: lName,
FatherName: fatherName,
},
headers:{
'X-CSRFToken':'{{csrf_token}}'
}
}).done(function(msg){
location.href='/blog/list'
}).fail(function(err){
alert(err)
})
})
})
</script>
</form>
</body>
{% endblock %}
def update(request,pk):
#deny anonymouse user to enter the detail page
if not request.user.is_authenticated:
return redirect("login")
else:
member = member()# the class modal
member = get_object_or_404(member, pk=pk)standard **page not found**
if request.method =="POST":
member = member()
member.member_name = request.POST['FName']
member.member_last_name = request.POST['LName']
member.member_father_name = request.POST['FatherName']
member.save()
context = {
"title":member.member_name,
"instance":member,
}
return render(request,'blog/update.html',context)
path('update/<int:pk>/',update,name = 'update'),