django post复选框数据

ell*_*lly 12 django django-forms

我在我的模板中使用了一个复选框表单,在我的视图中我试图检查该框是否已被选中我在我的视图中有以下代码:

if request.POST['check'] == True:
Run Code Online (Sandbox Code Playgroud)

但如果未选中则会抛出错误.如何检查我的帖子数据中是否有值'check'?

谢谢

Lau*_*Mat 20

Python文档是你的朋友:

 if request.POST.get('check', False):
     ...do stuff...
Run Code Online (Sandbox Code Playgroud)

您也可以这样做(更多Python文档):

 if "check" in request.POST:
     ... do stuff...
Run Code Online (Sandbox Code Playgroud)

  • 而你在第二个中不需要`keys()` - 在request.POST`中的`if"check"是这样做的惯用方法. (10认同)
  • `== True`让我烦恼. (7认同)
  • 它不仅仅是明确的,而且速度也慢.'如果dict中的键'比'如果键入dict.keys()'快,则第一个使用内置哈希O(1),而第二个是列表查找O(N). (3认同)