我正在使用 Django 表单,并且有一个选择字段。我认为问题可能在于选择是动态获取的,而现在只有一个值。我收到了 TemplateSyntaxError: too many values to unpack
。其他一些帖子似乎说只有一个值是个问题,所以我调整了获取选项的函数,并对其进行了更改,以便在开始时将其添加到空白选项中,作为测试。然而,这引发了另一个错误:需要多于 0 个值才能解包
不太确定该怎么办,因为即使只有一个值,我仍然需要它执行。
表格:
class UploadFileForm(forms.Form):
category = forms.ChoiceField(get_category_list())
file = forms.FileField()
类别获取函数:
def get_category_list():
cats = [(), ()]
for i in os.listdir(settings.MEDIA_ROOT + '/forms'):
cats.append(i)
return cats
模板部分:
<div id='addformdialog' title='Add Form'>
{{ form.as_p }}
</div>
查看:
def fm(request):
if request.session['SecurityLevel'] != 2:
return HttpResponse('Access Denied!')
if request.method == 'POST':
form = UpoadFileForm(request.POST, request.FILES)
if form.is_valid():
destination = open(settings.MEDIA_ROOT + "/forms/" + request.POST['category'] + "/" + request.FILES['file'].name, 'wb+')
for chunk in request.FILES['file'].chunks():
destination.write(chunk)
destination.close()
form = UploadFileForm()
return render_to_response('admin/fm.html', {'categories':cats, 'form':form, 'uploadsuccess':True})
else:
cats = get_category_list()
form = UploadFileForm()
return render_to_response('admin/fm.html', {'categories':cats, 'form':form})
最佳答案
choices
应该是二元组的可迭代对象。您只附加了一个字符串,这会由于字符串和元组的交互方式而导致困惑(如果您真的很在意,我会为您提供详细信息)。而是附加 2 元组。
关于python - Django 模板语法错误 : too many values to unpack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2080186/