如何知道python中是否选中了复选框 - django?

时间:2013-10-10 14:59:22

标签: python django checkbox

如果我有以下html:

<form method ='GET' action='/search'>
<input type='checkbox' name='box1' id='box1'> Option 1
<input type='checkbox' name='box2' id='box2'> Option 2
<input type='submit'>
</form>

我怎么知道在python / django中是否选中了一个复选框(TRUE / FALSE)?我正在Django中编写一个应用程序,我想根据选中的复选框显示一个特定的结果。

非常感谢提前!

2 个答案:

答案 0 :(得分:4)

如果它存在于request.GET中,则会进行检查,如果不存在,则表示未进行检查。

请参阅此问题:Does <input type="checkbox" /> only post data if it's checked?

编辑:示例检查:

if 'box1' in request.GET:
    # checked!
    ...
else
    # not checked (or the form was never submitted.)!
    ...

答案 1 :(得分:3)

实现这一目标的几种方法。

if not request.GET.get('checkboxName', None) == None:
  # Checkbox was selected
  selectedFunction()
else:
  notSelectedFunction()

# Another Way
if 'checkbox' in request.GET:
  # Checkbox was selected
  function()
else:
  notSelectedFunction()

现在,如果您尝试从已发布的表单中获取数据,只需将其从GET.get更改为POST.get - 我会建议您是否“记住”选择将其存储在会话中或存储中的内容曲奇饼。会话将更容易设置,并将与cookie一样工作。但是,如果这是“记住我”,那么cookie将是记住数据的最佳选择。