使用validate()校验失败时,转到哪个逻辑视图?如何将字段校验错误信息显示出来?
时间: 2023-12-03 11:46:59 浏览: 30
当使用 `validate()` 校验失败时,Django 会自动重定向到原始表单页面,并将错误信息作为上下文传递给模板。默认情况下,Django会在HTML代码中使用样式类 `errorlist` 来显示错误信息,但你可以自定义错误信息的呈现方式。
如果你想更改错误信息的呈现方式,可以在表单的 `__init__` 方法中设置 `self.error_class` 属性,例如:
```python
from django import forms
class MyForm(forms.Form):
# 定义表单字段
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.error_class = 'my-error-class'
```
在上面的示例中,我们将 `self.error_class` 设置为 `'my-error-class'`,这意味着Django将在HTML代码中使用该类来呈现错误信息。
要显示字段级别的错误信息,您可以在模板中使用 `form.field.errors`,例如:
```html
{% if form.field.errors %}
<ul class="my-error-class">
{% for error in form.field.errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
```
这将显示一个无序列表,其中包含与该字段相关联的所有错误消息。您可以根据需要自定义显示方式。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)