我试图将{{field.id}}放在HTML输入属性中,但它不起作用。这样做的正确方法是什么?
<input type="text" class="form-control" id="{{field.id}}">
我也尝试过:
<input type="text" class="form-control" id={{field.id}}>
见下我的完整代码:
{% for field in wizard.form %}
<div class="row">
<label class="col-xs-4" for={{field.id_for_label}}>{{ field.label }}</label>
<div class="col-xs-2">
<div class="form-group">
<input type="text" class="form-control" id="{{field.id}}">
{{field.id}}
</div>
</div>
</div>
{% endfor %}
答案 0 :(得分:1)
您可以像这样获取表单字段的生成ID:
{{ field.auto_id }}
这是https://stackoverflow.com/a/3765016/1637351
的副本编辑: 虽然我不明白你为什么要把id值作为name属性。这将导致渲染的html
<input name="id_field_name" />
答案 1 :(得分:0)
如果使用字段模板标记,我会自动处理。
相反,我尝试使用与您使用不同的方法,使用django_widget_tweaks以编程方式添加属性。
例如,在您的模板中......
{% for field in wizard.form %}
<div class="row">
<label class="col-xs-4" for={{field.auto_id}}>{{ field.label }}</label>
<div class="col-xs-2">
<div class="form-group">
{{field|attr:'class:form-control}}
</div>
</div>
</div>
{% endfor %}
这将自动生成每个字段的输入,class='form-control'
作为标记的一部分。通过呈现field
将自动处理ID /名称。