django - 如何在没有 html 标签的情况下呈现 form.errors
问题描述
我想在没有 html 标记的情况下单独呈现 form.errors 但它似乎不起作用
视图.py
....
context = {
'login_error': form.errors,
'login_form': LoginForm(),
}
return render(request, 'shop/login.html', context)
....
登录.html
....
<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
....
{% 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标签
{% for error in login_error %}
{{ error|escape }}
{% endfor %}
输出没有 html 标签但需要循环,我需要单独输出错误但没有 html 标签
解决方案
推荐阅读
- apache - 使用没有 root 权限的用户运行 docker 命令(可能使用 Apache 的 www-data 用户)
- php - Yii2 Swiftmailer 无法发送图像和字体很棒的图标
- java - 在组合框中加载特定名称作为第一行
- azure - 如何在虚拟网络中创建 Azure 容器注册表?
- react-native - react-native-navigation 更新子数据但保留父数据
- go - 为什么 golang 在 slice 和 map 之间的 `[]` 运算符上实现不同的行为?
- c++ - c++非模板类好友到模板类成员
- excel - 如何在Excel(VBA)中并排发送包含两个表格信息的电子邮件
- cassandra - Cassandra RangeError:试图访问超出缓冲区长度
- phantomjs - 在 Linux 上安装 PhantomJs