Я работаю с формой Django, и у меня есть поле выбора. Я думаю, что проблема может заключаться в том, что выбор выбирается динамически, и сейчас есть только одно значение. Я получаю TemplateSyntaxError: too many values to unpack
. Некоторые другие сообщения, кажется, говорят, что иметь только одно значение - это проблема, поэтому я настроил свою функцию, которая выбирает варианты, и изменил ее, чтобы она добавлялась к пустым параметрам в начале, просто как тест. Однако это вызвало еще одну ошибку: need more than 0 values to unpack
Не совсем уверен, что с этим делать, потому что даже если есть только одно значение, мне все равно нужно его выполнить.
Форма:
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})