python - 在 Django 中自定义表单验证错误显示
问题描述
当我使用 form.is_valid() 时,Django 会自动输出下面链接中显示的验证错误消息(红色圈出)。但是,如果我想使用自定义逻辑自定义该消息但以相同的方式显示它怎么办。我怎么做?
下面链接的页面允许您将电话号码注册到数据库。我想添加一个取消订阅页面,在其中查询数据库,如果电话号码存在,则删除该号码。但如果它在数据库中不存在,我想显示消息“电话号码当前未注册”。
https://imgur.com/SxqIt1N(对不起,外部链接,还不能嵌入图片)
模型.py
class PhoneNumber(models.Model):
country = models.CharField(max_length = 1)
area = models.CharField(max_length = 3)
phone_number = models.CharField(max_length = 7)
reg_date = models.DateTimeField(default=timezone.now)
class Meta:
unique_together = ('country', 'area', 'phone_number')
def add_to_database(self):
self.save()
def __str__(self):
return str(self.country) + str(self.area) + str(self.phone_number)
解决方案
您可以单独访问字段错误,这是一个示例:
<form action="." method="get">
{% csrf_token %}
<p>{{ form.username.label }}: {{ form.username }}</p>
<p>{{ form.password.label }}: {{ form.password}}</p>
<ul>
{% for error in form.password.errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
<button type="submit">submit</button>
</form>
此代码将与password
字段相关的错误显示为无序列表。你可以制作一个表格,一些 div,你可以命名它......
查看此答案以获取更多详细信息:检查小部件级别的错误和其他值 - 可能使用自定义表单字段
推荐阅读
- r - Apply `dplyr::rowwise` in all variables
- uwp - 如何在不使用动画(Composition Api)的情况下设置属性?
- git - 具有所有历史记录的 Perforce 流式传输到 Git 迁移
- java - 在一定延迟后需要帮助从 Web URL 下载文件
- scala - 如何将按第一个元素排序的元组列表分组到包含重叠和非重叠元组的两个列表中
- java - 为什么一定要加双引号?
- javascript - Angular 7+:如何只允许上传包含 utf-8 内容的文件?
- facebook - Facebook 图形 API 上缺少 instagram_business_account ID
- javascript - 使用 webpack 获取 svg fir 图像 src 返回 304
- java - 如何获取文件中每一行的最后一个单词并将其放入另一个文件的每一行