Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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_Checkbox_Django Templates_Django Forms - Fatal编程技术网

django表单:如何签出模板中的复选框状态

django表单:如何签出模板中的复选框状态,django,checkbox,django-templates,django-forms,Django,Checkbox,Django Templates,Django Forms,我有一个带有复选框的表单,可以正常工作,但是当用户提交带有错误的表单并且选中了我的复选框时,我需要更改包含该复选框的div类。所以我在模板中试验了{{form.mycheckbox.data},在页面加载时显示False。现在,当用户单击复选框时,表单出现错误,它会在上显示。所以我试着: {{if form.mycheckbox.data==True}不起作用 {{if form.mycheckbox.data!=False}不起作用 {{if form.mycheckbox.data=='on

我有一个带有复选框的表单,可以正常工作,但是当用户提交带有错误的表单并且选中了我的复选框时,我需要更改包含该复选框的div类。所以我在模板中试验了
{{form.mycheckbox.data}
,在页面加载时显示False。现在,当用户单击复选框时,表单出现错误,它会在上显示。所以我试着:

{{if form.mycheckbox.data==True}
不起作用

{{if form.mycheckbox.data!=False}
不起作用

{{if form.mycheckbox.data=='on'}}
不起作用


{{if form.mycheckbox.data==on}}
不起作用

使用
{%if form.mycheckbox.value%}
。如果选中该框,则该值将计算为true。对于相反的行为,请使用
{%if not form.mycheckbox.value%}

注意语法是
{%if…%}
,而不是
{{if…}
。百分比括号用于命令,双括号用于输出变量。

在models.py中:

class Article:
    published = BooleanField()
    (...)
在模板中:

 <input type="checkbox" name="published" {% if article.published %}checked{% endif %} />

为我工作:

{% for foo in form.tags %}
  <label class="publication-tag">
    <input class="publication-tag__checkbox"
      {% if foo.choice_value in foo.value %}checked="checked"{% endif %}
      type="checkbox" 
      name="{{ foo.name }}"
      value="{{ foo.choice_value }}">
{% endfor %}

然而,首先您应该在模型中使用BooleanField,而不是CharField。 然后,有两个访问:

  • 只需在模板中放入{{form.yourField}}(首选)

  • 或者,使用{%if form.yourfield.value%}选中{%endif%}


我用div类名打错了,=='on'很有效。SorryA对上述
if条件的更正是
{%if foo.choice_forms.tags.value%}checked=“checked”{%endif%}
{%if foo.choice_value in foo.value%}
这一切正常。
{% if foo.choice_value in foo.value %}checked="checked"{% endif %}