在Django中,我们可以在form.save()方法之前显示Django友好的forms.ValidationError或message.error。下面是一种实现方式:
from django import forms
from django.contrib import messages
def your_view(request):
if request.method == 'POST':
form = YourForm(request.POST)
if form.is_valid():
try:
form.save()
messages.success(request, '保存成功!')
except forms.ValidationError as e:
messages.error(request, e.message)
else:
form = YourForm()
return render(request, 'your_template.html', {'form': form})
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">保存</button>
</form>
这样,当form.save()方法之前发生ValidationError异常时,错误消息将被显示在模板中,并且用户将能够看到友好的错误提示。
请注意,这只是一种实现方式,你可以根据自己的需求进行调整和扩展。另外,关于Django的forms.ValidationError和messages模块的更多信息,你可以参考以下链接:
领取专属 10元无门槛券
手把手带您无忧上云