私は自分のテンプレートの中のいくつかのチェックボックスを使いたいので、動作させることができません。Django - チェックボックスの配列
私は次のように私の形で)forms.BooleanFieldを(含む配列を渡すためにしようとしている:私のフォームがで呼び出された
class ProjetSettingsForm(forms.Form):
## A bunch of form fields of no interest
arrayCheck = []
cb1 = forms.BooleanField()
cb2 = forms.BooleanField()
arrayCheck.append(cb1)
arrayCheck.append(cb2)
と私のテンプレートでは、このような出力を
{% for a in form.arrayCheck %}
{{ a }}
{% endfor %}
ビュー:
def settings(request):
if request.method == "POST" and (request.POST.get("settings_task_type", "") == "Enregistrer Task Type"):
form = ProjetSettingsForm(request.POST, proj_id=request.session['proj'])
if form.is_valid():
settings = form.save_task_type()
c = {'proj':proj, 'form':form, 'settings':settings}
return render_to_response('projet/settings.html', c, context_instance=RequestContext(request))
else:
form = ProjetSettingsForm(proj_id=request.session['proj'])
settings = ""
c = {'proj':proj, 'form':form, 'settings':settings}
return render_to_response('projet/settings.html', c, context_instance=RequestContext(request))
しかし、それが表示されます。
<django.forms.fields.BooleanField object at 0xb595a2ec> <django.forms.fields.BooleanField object at 0xb595a22c>
どうすればチェックボックスを正しく表示できますか?
チェックボックスを配列として渡す必要がある理由は、配列が1つではなく、多くの配列が存在することです。その正確な数はSQLクエリに依存しています。
EDIT:誰かがこのポストに遭遇した場合、私は解決策を見つけた
。私はチェックボックスの配列を渡す必要があるときにフォームを使用しません。
は、私は、テンプレート内のチェックボックスを作成し、フォームの外にフォームフィールドを使用しないでくださいrequest.POST.getlist('my_array')
それはどういう意味ですか?私はフォーム内のフィールドを作成しました – Johanna
いいえ、あなたはしませんでした。彼らはリストに入っています。 Djangoフォームクラスを使用します。 –
クラス 'クラスProjetSettingsForm(forms.Form):'私はちょうどそれを私の質問に入れませんでした – Johanna