当我使用form.is_valid()时,Django自动输出以下链接中显示的验证错误消息(红色圆圈)。但是,如果我想使用自定义逻辑自定义该消息却以相同的方式显示该消息,该怎么办。我该怎么办?
下面链接的页面允许您将电话号码注册到数据库。我想在查询数据库的地方添加一个退订页面,如果电话号码存在,请删除该号码。但是,如果数据库中不存在该电话,我想显示消息“电话号码当前未注册。”
https://imgur.com/SxqIt1N(很抱歉,外部链接,尚无法嵌入图像)
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)
答案 0 :(得分:0)
您可以单独访问字段错误,这是一个示例:
<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,将其命名为...
查看此答案以获取更多详细信息:Check for erros and other values at the widget level - maybe using custom form field