0

如何在 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 %}

我想将所有错误发送到一个函数并用它做一些事情。我尝试使用striptagsand stringformat,但它总是会引发错误。

4

1 回答 1

1

我认为您的问题与 Javascript 没有任何关系。问题在这里:

{{ e|add:err }}

这根本没有意义。似乎您正在尝试建立一个列表,e其中包含 中的所有项目form.email.errors。但是你不能在模板中做那种事情——设计上不允许数据操作。过滤器只是执行显示的add数字计算,它不修改对象。

您可能希望在视图中将错误序列化为 JSON,并将该 JSON 对象传递给classEditor.set.

于 2012-04-18T15:30:14.277 回答