如何将django表单字段属性插入HTML代码?

时间:2014-11-21 01:22:49

标签: html django templates

我试图将{{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 %}

2 个答案:

答案 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 /名称。