django 为未选中的复选框保存一个值
Posted
技术标签:
【中文标题】django 为未选中的复选框保存一个值【英文标题】:django save a value for unchecked checkbox 【发布时间】:2013-04-15 08:22:34 【问题描述】://我的模板//
<tr>
<td><input type="text" name="language1" id="language1" /></td>
<td><input type="checkbox" name="read1" id="read1" value="yes" /></td>
<td><input type="checkbox" name="write1" id="write1" value="yes" /></td>
<td><input type="checkbox" name="speak1" id="speak1" value="yes" /></td>
</tr>
<tr>
<td><input type="text" name="language1" id="language1" /></td>
<td><input type="checkbox" name="read1" id="read1" value="yes" /></td>
<td><input type="checkbox" name="write1" id="write1" value="yes" /></td>
<td><input type="checkbox" name="speak1" id="speak1" value="yes" /></td>
</tr>
如果选中复选框,我想将 yes 保存到我的数据库中,
如果未选中该复选框,我想将 no 保存到数据库中,..
怎么做?
编辑
def edit_other_info(request):
if request.method == "POST":
user = request.POST.get('user_id')
language1 = request.POST.get('language1')
read1 = request.POST.get('read1')
write1 = request.POST.get('write1')
speak1 = request.POST.get('speak1')
language2 = request.POST.get('language2')
read2 = request.POST.get('read2')
write2 = request.POST.get('write2')
speak2 = request.POST.get('speak2')
p=language(user_id=user,language1=language1,read1=read1,write1=write1,
speak1=speak1,language2=language2,read2=read2,write2=write2,speak2=speak2)
p.save()
return HttpResponseRedirect('/accounts/Profile/')
else:
details1 = language.objects.filter(user_id=request.user.id)
return render_to_response('registration/language.html', "details":details, "details1":details1, context_instance=RequestContext(request))
提前谢谢..
【问题讨论】:
你已经写过一些 Python 代码了吗?如果是这样,我也很乐意看到! 【参考方案1】:如果您为所有复选框提供一个通用名称,则可以使用
检索该值options = request.POST.getlist('name')
如果没有检查,则返回一个空列表。
【讨论】:
【参考方案2】:测试复选框 id 是否在 post 参数中,如下所示:
def myview(request):
if request.method == 'POST':
read1_val = "read1" in request.POST
MyModel(read1=read1_val).save()
如果它在那里,那就是“是”。如果它不在那里,那就是“不”。
更多here、here和here
【讨论】:
以上是关于django 为未选中的复选框保存一个值的主要内容,如果未能解决你的问题,请参考以下文章
基于element的checkbox实例:复选框组,选中之后,保存选中项value值,显示label
如何通过关系将复选框值保存到 django 中的 ManyToManyField?