gpt4 book ai didi

Django - 复选框数组

转载 作者:行者123 更新时间:2023-12-04 06:09:44 27 4
gpt4 key购买 nike

我想在我的一个模板中去掉一些复选框,但我无法让它工作。

我试图在我的表单中传递一个包含 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 %}

我的表单由 View 调用:
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> 

我怎样才能让它正确显示复选框?

我需要将复选框作为数组而不是一个一个地传递的原因是会有很多复选框,我不会提前知道它们的确切数量,这取决于 sql 查询。

编辑:

如果有人遇到这篇文章,我找到了解决方案。当我需要传递一组复选框时,我不使用表单。

我直接从我的 View 发送数组,在模板中创建复选框并在 request.POST.getlist('my_array') 中获得结果

最佳答案

不要在表单之外使用表单域。他们不是那样工作的。创建一个带有 MultipleChoiceField 的表单。

关于Django - 复选框数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7913489/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com