如果我有以下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中编写一个应用程序,我想根据选中的复选框显示一个特定的结果。
非常感谢提前!
答案 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将是记住数据的最佳选择。