如何在JavaScript中使用Django的模板标签?这是我的代码:
{% block scripts %}
<script>
$(document).ready(function() {
var classEditor = {
dcg: $("div.control-group"),
set: function(i, errors) {
$dcg = $(classEditor.dcg[i]);
$dcg.addClass("error");
$dcg.children('div').children('div').children('p').text(errors);
}
};
{% if form.email.errors %}
{% for err in form.email.errors %}
{{ e|add:err }}
{% endfor %}
classEditor.set(1, {{ e }});
{% endif %}
})
</script>
{% endblock %}
我想将所有错误发送到函数并使用它执行某些操作。我尝试使用striptags
和stringformat
,但它总是会引发错误。
答案 0 :(得分:1)
我不认为您的问题与Javascript有任何关系。问题出在这里:
{{ e|add:err }}
这完全没有意义。您似乎正在尝试建立一个列表e
,其中包含form.email.errors
中的所有项目。但是你不能在模板中做那种事情 - 设计不允许数据操作。 add
过滤器只是为显示执行数值计算,它不会修改对象。
您可能希望在视图中将错误序列化为JSON,并将该JSON对象传递给classEditor.set
。