2

如果我有以下 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 中是否选择了一个复选框(真/假)?我正在用 Django 编写一个应用程序,我想根据选中的复选框显示一个特定的结果。

提前谢谢了!

4

2 回答 2

4

如果存在于 中request.GET,则检查,如果不存在,则不检查。

看到这个问题:<input type="checkbox" /> 是否仅在选中后才发布数据?

编辑:示例检查:

if 'box1' in request.GET:
    # checked!
    ...
else
    # not checked (or the form was never submitted.)!
    ...
于 2013-10-10T15:02:24.533 回答
4

有几种方法可以做到这一点。

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 一样工作。但是,如果这是为了“记住我”,cookie 将是记住数据的最佳选择。

于 2013-10-10T16:26:38.820 回答