【问题标题】:django save a value for unchecked checkboxdjango 为未选中的复选框保存一个值
【发布时间】: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 代码了吗?如果是这样,我也很乐意看到!

标签: html django python-2.7


【解决方案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()
    

    如果它在那里,那就是“是”。如果它不在那里,那就是“不”。

    更多hereherehere

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      相关资源
      最近更新 更多