Django开发中复选框用法示例
本文实例讲述了Django开发中复选框用法。分享给大家供大家参考,具体如下:
一、查询数据库遍历所有的复选框
1、python查询数据库所有的tag
#新增文章
defadd(request):
ifrequest.method=='GET':
tags=TagModel.objects.all()
returnrender(request,'books_add.html',{'tags':tags})
elifrequest.method=='POST':
title=request.POST.get('title',None)
content=request.POST.get('content',None)
blogModel=BlogModel(title=title,content=content,author=AuthorModel.objects.get(id=1))
blogModel.save()
#获取复选框的值,是一个选中的数组
tags=request.POST.getlist('tags')
#循环遍历所有选中的复选框,利用多对多的关系追加到数据库
fortagintags:
blogModel.tag.add(tag)
returnHttpResponseRedirect('book_add')
else:
returnHttpResponse(u'是不被处理的请求方式')
2、前端页面
标签 {%fortagintags%} {{tag.name}} {%endfor%}
3、进入编辑页面,先获取全部的复选框及选中的id
#编辑博客
defedit(request,blog_id):
tags=TagModel.objects.all()
#利用正向查找关于本博客选择的tag
blogModel=BlogModel.objects.filter(id=blog_id).first()
#获取全部的tag
check_tag=blogModel.tag.all()
#获取选中的id
check_id=[int(x.id)forxincheck_tag]
printcheck_id
returnrender(request,'books_edit.html',{'tags':tags,'check_id':check_id})
4、判断如果选中的就勾选
标签 {%fortagintags%} {%iftag.idincheck_id%} {{tag.name}} {%else%} {{tag.name}} {%endif%} {%endfor%}