如何将 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 模板中表单字段的名称属性

Django 表单字段验证 - 如何判断操作是插入还是更新?

如何让 Django 表单显示 html 必需的属性?

如何在 django 表单中设置自定义 HTML 属性?

如何通过 PHP 将未知数量的 HTML 表单字段插入 MySQL?

Django 表单子类化 - 如何修改继承字段的某些属性,同时保留其他属性?