如何在没有html标记的情况下呈现form.errors

时间:2019-12-30 06:05:43

标签: django python-3.x django-forms

我想在没有html标记的情况下分别呈现form.errors,但它似乎不起作用

views.py

mydf <- structure(list(ID = c(1L, 3L, 4L, 3L), measure = c(12L, 3L, 365L, 
1L), timemark = c(15L, 13L, 0L, 13L)), class = "data.frame", row.names = c(NA, 
-4L))

login.html

....
context = {
        'login_error': form.errors,
        'login_form': LoginForm(),
    }

return render(request, 'shop/login.html', context)
....

我得到的答案是将其拆成一个循环,然后添加一个.... <label class="mt-1"> {{ login_form.username.label }} </label> {{ login_form.username }} {{ login_error.username }} <label class="mt-1"> {{ login_form.password.label }} </label> {{ login_form.password }} {{ login_error.password }} ....

|escape

所以,问题是,为什么此输出带有html标记

....
{% for error in login_error %}
{{ error|escape }}
{% endfor %}

<label class="mt-1"> {{ login_form.username.label }} </label>
{{ login_form.username }}

<label class="mt-1"> {{ login_form.password.label }} </label>
{{ login_form.password }}
....

但此输出没有html标记,与上面的标记基本相同(?)

{{ login_error.username|escape }}
{{ login_error.password|escape }}

预期结果是没有html标记的字段错误,但是{% for error in login_error %} {{ error|escape }} {% endfor %} 还会输出html标记

{{ login_error.username|escape }}

输出没有html标记,但需要循环,我需要单独输出错误,但没有html标记

0 个答案:

没有答案