如何在Django中使用带有formset的输入HTML

时间:2018-04-14 14:51:20

标签: python html django

我有一个包含2个字段的formset。 当我运行它时,显示这个“/>”屏幕上。 看看我的HTML代码。 我不知道为什么会这样。我认为这是HTML标签中的内容,我必须改变它。 如果有人能帮助我解决这个问题我很感激。 感谢。

HTML:

{% load static %}

<!DOCTYPE html>

<body>

<script src="{% static 'id15/assets/js/jquery.min.js' %}"></script>
<script src="{% static 'id15/assets/js/jquery.formset.js' %}"></script>

<form class=" bd-form-20 " action="" name="form-name" method="POST" >
{% csrf_token %}

           <script>
            function caps(element){
                element.value = element.value.toUpperCase();
            }
            </script>

    <label>outorgado</label><br><br>
          <div>
            {{ formsetoutorgado.management_form }}
            {% for formset in formsetoutorgado %}
              <div class="link-formset">

               <input type="text" id={{formset.nom_outorgado}}  /><br><br>
               {{formset.nom_outorgado.errors}}
               <input type="text" id={{formset.num_cpf_outorgado}} /><br><br>
               {{formset.num_cpf_outorgado.errors}}

              </div>
            {% endfor %}
          </div>


        <script>
        $('.link-formset').formset({
                    addText: 'Adicionar',
                    addCssClass: 'add-row',
                    deleteText: 'Remover',
                    deleteCssClass: 'show',
        });
        </script>

    <br>
    <button type = "submit" >
    Cadastrar e Continuar
    </button>

</form>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

这个<input type="text" id={{formset.nom_outorgado}}/>是你的问题。 {{formset.nom_outorgado}}实际上是<input>字段,而不是表单字段的id。所以你应该只有:

{{ formset.nom_outorgado }} 
HTML中的

(没有周围的<input ...>)或者您想手动创建HTML:

<input type="text" id="{{ formset.nom_outorgado.id_for_label }}" name="{{ formset.nom_outorgado.html_name }}" value="{{ formset.nom_outorgado.value }} /> 

获取该字段的id。如果要填写表单中的字段,请不要忘记"周围的id并设置namevalue。正如丹尼尔评论的那样,这不是制作Django的原因,第一个选择是你应该做的。