如何将 django 表单字段属性插入 HTML 代码?
Posted
技术标签:
【中文标题】如何将 django 表单字段属性插入 HTML 代码?【英文标题】:How to insert django form field attributes into HTML code? 【发布时间】:2015-01-19 02:03:50 【问题描述】:我试图将 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 %
【问题讨论】:
【参考方案1】:您可以像这样获取生成的表单字段的 id:
field.auto_id
这是https://***.com/a/3765016/1637351的副本
编辑: 虽然我不明白您为什么要尝试将 id 值作为 name 属性。这将导致呈现的 html 是
<input name="id_field_name" />
【讨论】:
【参考方案2】:如果使用字段模板标签,我会被自动处理。
相反,我会尝试与您使用的方法不同的方法,即使用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'
作为标签的一部分。 id/name 将通过渲染field
自动处理。
【讨论】:
以上是关于如何将 django 表单字段属性插入 HTML 代码?的主要内容,如果未能解决你的问题,请参考以下文章
Django 表单字段验证 - 如何判断操作是插入还是更新?