私のdjango/pythonコードには非常に単純なエラーがあると確信しています。基本的に、私は (今のところ) いくつかのドロップダウン リストとファイル アップロード機能を備えた単純な html フォームを作成しようとしています。次のコード スニペットがあります。
ビュー.py:
def convert(request):
if request.POST:
form = ConvertForm(request.POST,request.FILES)
if form.is_valid():
form.save()
# Change this to some result page,
# but for now, just see that we got the file
return HttpResponseRedirect('/convert/convert')
else:
form = ConvertForm()
args = {}
args.update(csrf(request))
args['form']=form
return render_to_response('convert.html',args)
convert.html で:
{% block content %}
<form action="/convert/convert/" method="post" enctype="multipart/form-data">{% csrf_token %}
<ul>
{{ form.as_ul }}
</ul>
<input type="submit" name="submit" value="Convert">
</form>
{% endblock %}
そして私のforms.pyで:
from django import forms
class ConvertForm(forms.Form):
ff_from = forms.ChoiceField(choices=('a'))
ff_to = forms.ChoiceField(choices=('b'))
file = forms.FileField(max_length=200)
私が得ているエラーは次のとおりです。
/convert/convert/ での ValueError は
、アンパックするために複数の値が必要です
要求メソッド: GET
Django バージョン: 1.5.2
例外タイプ: ValueError
例外値:
アンパックするには、複数の値が必要です
テンプレート レンダリング中のエラー
テンプレート /path/to/templates/convert.html の 16 行目のエラー
しかし、私はその理由を理解できません。私はdjangoの初心者ですが、Pythonには慣れています。convert.html の 16 行目は、
{{ form.as_ul }}
コードの一部。
現在、私は自分のウェブサイトにフォームを表示することだけを試みています。何かをさせるよりもはるかに少ないです!
ここに質問を投稿することに慣れていないので、この説明が完全かどうか教えてください! ありがとう!