【问题标题】:How to insert django form field attributes into HTML code?如何将 django 表单字段属性插入 HTML 代码?
【发布时间】: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 %}

【问题讨论】:

    标签: html django templates


    【解决方案1】:

    您可以像这样获取生成的表单字段的 id:

    {{ field.auto_id }}
    

    这是https://stackoverflow.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 自动处理。

      【讨论】:

        猜你喜欢
        • 2011-02-23
        • 1970-01-01
        • 1970-01-01
        • 2022-01-10
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 2015-05-09
        相关资源
        最近更新 更多