在单击时添加具有函数的另一行表单(django)

时间:2016-04-07 23:32:53

标签: python django

我正在做一个Django应用程序。 我有这个表格

class tipoAtribute(forms.Form):
 nombreAtribute = forms.CharField(max_length = 25)
 CHOICES = (
    ('VARCHAR', 'Categorico'),
    ('FLOAT', 'NUMERICO'))
 tipoAtribute = forms.MultipleChoiceField(choices = CHOICES, required=True, widget=forms.Select()) 

我在HTML的表格中显示了这一点,如下所示:

<table id="atributesTable">
<tr>
    <td>
        {{ form.nombreAtribute }}
    </td>
    <td>
        {{ form.tipoAtribute }}
    </td>
</tr>

我制作了这个脚本,在表格中添加另一行,里面有表格。

<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
  var table = document.getElementById("atributesTable");
  var row = table.insertRow(0);
  var cell1 = row.insertCell(0);
  var cell2 = row.insertCell(1);

  cell1.innerHTML = "{{ form.nombreAtribute }}";
  cell2.innerHTML = "{{ form.tipoAtribute }}";
  }

但是这个简单不起作用,我想是因为我没有在变量cell1或cell2中正确显示形式。 但我不知道如何纠正这一点。

1 个答案:

答案 0 :(得分:0)

{{ form.nombreAtribute }}的文本替换可能包含引号,这会使此脚本出现语法错误。在浏览器中查看页面源以查看模板替换的结果。你可以让Django通过addslashes filter运行值来逃避引号。

cell1.innerHTML = "{{ form.nombreAtribute | addslashes }}";

这可能是也可能不是您问题的一部分。