【发布时间】:2021-07-24 17:36:32
【问题描述】:
我正在尝试遵循 James Bennett 示例但收到此错误:
ValueError at /loadtest
too many values to unpack (expected 2)
Request Method: GET
Request URL: http://127.0.0.1:8000/loadtest
Django Version: 3.2.5
Exception Type: ValueError
Exception Value:
too many values to unpack (expected 2)
Exception Location: /Users/lowell.dennis/Code/loadtest/env/lib/python3.9/site-packages/django/forms/widgets.py, line 691, in _choice_has_empty_value
Python Executable: /Users/lowell.dennis/Code/loadtest/env/bin/python
Python Version: 3.9.6
Python Path:
['/Users/lowell.dennis/Code/loadtest',
'/Users/lowell.dennis/.vscode/extensions/ms-python.python-2021.7.1053846006/pythonFiles/lib/python/debugpy/_vendored/pydevd',
'/usr/local/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python39.zip',
'/usr/local/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9',
'/usr/local/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload',
'/Users/lowell.dennis/Code/loadtest/env/lib/python3.9/site-packages']
Server time: Sat, 24 Jul 2021 01:52:04 +0000
我希望有人能看到我犯的错误。
这是我的表单类代码:
class DynamicForm(Form):
def __init__(self, *args, **kwargs):
dynamic = kwargs.pop('dynamic', 0)
super(DynamicForm, self).__init__(*args, **kwargs)
for field in dynamic:
self.fields[field[0]] = field[1]
我正在构建一个元组数组,(name, field),其中 name 是字段的名称,field 是带有提示、初始、标签的字段类型(如 CharField、ChoiceField、FloatField、IntegerField、URLField) 、必填项和需要的选择项填写)。
我的视图函数以此结束:
return render(request, 'loadtest.html', {'form': DynamicForm(dynamic = fields)})
我的 loadtest.html 包含以下内容:
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_table}}
</table>
<input type="submit" value="Submit">
</form>
【问题讨论】:
标签: django