Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-复选框数组_Django_Django Forms_Django Templates_Checkbox_Django Models - Fatal编程技术网

Django-复选框数组

Django-复选框数组,django,django-forms,django-templates,checkbox,django-models,Django,Django Forms,Django Templates,Checkbox,Django Models,我想在我的一个模板中去掉一些复选框,但我无法让它工作 我试图在我的表单中传递一个包含forms.BooleanField()的数组,如下所示: class ProjetSettingsForm(forms.Form): ## A bunch of form fields of no interest arrayCheck = [] cb1 = forms.BooleanField() cb2 = forms.BooleanField() arrayCh

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

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

如何使其正确显示复选框

我之所以需要将复选框作为一个数组而不是一个接一个地传递,是因为将有许多复选框,而且我不会事先知道它们的确切数目,这取决于sql查询

编辑:

如果有人看到这篇文章,我会找到一个解决办法。当我需要传递一组复选框时,我不使用表单


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

不要在表单外使用表单字段。他们不是那样工作的。创建一个带有多个EchoIceField的表单。

这是什么意思?我在表单中创建了字段不,你没有。它们在一个列表中。使用Django表单类。它们位于类
class项目设置表单(forms.form):
我只是没有把它放在我的问题中,那么什么是
arrayCheck
?如果没有看到完整的代码,这是没有意义的。它是Form类的一个变量。我知道我做错了什么,但我不知道是什么