Django框架。 HTML形式。 views.py脚本。
我有一个带有多个复选框的表单,用户选择一个复选框以对应于他们希望在zip文件中下载哪些文件。选中所有复选框后,将创建一个zip文件并可以下载,但是只要取消选中此复选框,我都会收到以下错误消息:
/ qatools / debug / logs /中的MultiValueDictKeyError
在QueryDict中找不到关键的“日志”:
我的验证如下。它确定是否已选中一个复选框,并以调用外壳程序脚本的格式原样分配0或1。
logs = 0
if request.POST.get & request.POST['logs'] == "on":
logs = 1
最佳答案
这是HTML表单的标准问题...在POST上,未选中的复选框将不存在于POST值中,并且不具有预期的'off'值。因此,您需要检查是否存在:
logs = 0
if request.POST.get and 'logs' in request.POST and request.POST['logs'] == "on":
logs = 1
关于python - 表单验证和MultiValueDictKeyError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7244107/