使用自定义模板时Django表单字段的初始值

时间:2013-07-08 23:20:27

标签: django django-forms django-crispy-forms

我的Django表单中有一个BooleanField,我希望初始值为True,所以我把它定义为:

my_checkbox = forms.BooleanField(label='My Checkbox', help_text='Some help text here', initial=True)

在我的帮手中,我有:

helper.layout = Layout(
    Field('my_checkbox', template="custom.html")

Custom.html看起来像:

<input class="checkboxinput" id="id_{{ field.name }}" name="{{ field.name }}" type="checkbox">
<span id="hint_id_{{ field.name }}" class="help-inline">{{ field.help_text }}</span>

我尝试输出field.initial的值,但没有显示任何内容。我知道如果我手动编码,我只需要<input ... checked>,然后选中该框。

有没有办法访问字段的“初始”部分并将其设置在我的自定义模板中?谢谢!

2 个答案:

答案 0 :(得分:8)

您可以使用

访问表单字段的初始数据
{{field.value}}

答案 1 :(得分:-1)

在未绑定表单上确实是{{field.initial}}。要在单选按钮上手动呈现表单的初始值,例如:

&#13;
&#13;
{% for value, descr in field.choices %}
  <input type="radio" name="{{ field.html_hame }}" value="{{ value }}"{% if field.initial == value %} checked{% endif %}>{{ descr }}<br>
{% endfor %}
&#13;
&#13;
&#13;