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%}