赞
踩
这个表格是我以下代码出现的效果,以下代码也可以实现图中修改保存删除操作。
def showstu(request):
all=stu.objects.all()
data={
"all":all
}
return render(request,"searchstu.html",context=data)
这个是最简单的表用来提示用的
<table border="1" cellpadding="0" >
<tr >
<td>姓名</td>
<td>年龄</td>
<td>性别</td>
<td>班级</td>
<td colspan="3">操作</td>
</tr>
</table>
这个表是实现我们的功能的表
{% for student in all %}
<form action="{% url 'homework:updatestu' %}" method="get" >
<table border="1" cellpadding="0">
<tr><td>
<input type="text" name="s_id" value={{student.id}} style="display:none">
</td><td>
<input type="text" name="s_name" value={{student.stu_name}} >
</td><td>
<input type="text" name="s_age"value={{ student.stu_age}}>
</td><td>
<input type="text" name="s_sex"value={{ student.stu_sex}}>
</td><td>
<input type="text" name="s_cla" value={{ student.stu_class}}>
</td><td>
<input type="button" id="a" value="修改" οnclick="update(this)">
#在这里用了两种方法提交到服务器,一种是submit提交,还有一种是超链接提交。
</td><td><input type="submit" value="保存" οnclick="save(this)">
</td><td><a href="/homework/delstu/{{ student.id }}">
<input type="button" value="删除"></a>
</td></tr>
</table>
</form>
{% endfor %}
好了查询功能已经做好了我们可以通过url访问了
url(r"^showstu/", views.showstu,name="showstu"),
现在起要操作剩下的功能了,在这里的一个比较笨的办法,要想实现点击对应的按钮删除或者修改哪一个,就要把每行都设置成一个form提交表单。
因此我把form放在for循环内部,这样循环一条就会多一个form表单。
更新操作
def updatestu(request):
id = request.GET.get("s_id")
name=request.GET.get("s_name")
sex=request.GET.get("s_sex")
age=request.GET.get("s_age")
cla=request.GET.get("s_cla")
#获取数据库中这个id将和这个id有关的数据设置成你get到前面的值,别忘记保存!修改完后直接刷新这个页面也就是重定向到这个页面
stu1=stu.objects.filter(pk=id).first()
stu1.stu_age=age
stu1.stu_class=cla
stu1.stu_sex=sex
stu1.stu_name=name
stu1.save()
return HttpResponseRedirect("/homework/showstu")
删除操作
def delstu(request,id):
stu1=stu.objects.filter(pk=id).first()
stu1.delete()
return HttpResponseRedirect("/homework/showstu")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。