在管理员端保存数据时显示错误信息,可以通过以下步骤实现:
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
email = models.EmailField(unique=True)
password = models.CharField(max_length=100)
from django.shortcuts import render
from .forms import UserForm
def save_user(request):
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
# 保存数据
form.save()
return render(request, 'success.html')
else:
form = UserForm()
return render(request, 'admin.html', {'form': form})
from django import forms
from .models import User
class UserForm(forms.ModelForm):
class Meta:
model = User
fields = ['name', 'email', 'password']
def clean_email(self):
email = self.cleaned_data.get('email')
if User.objects.filter(email=email).exists():
raise forms.ValidationError('该邮箱已被注册')
return email
在上述代码中,clean_email()方法用于验证email字段的唯一性,如果该邮箱已被注册,则抛出ValidationError异常。
<form method="post" action="{% url 'save_user' %}">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">保存</button>
</form>
{% if form.errors %}
<div class="error">
{% for field in form %}
{% for error in field.errors %}
<p>{{ error }}</p>
{% endfor %}
{% endfor %}
</div>
{% endif %}
在上述代码中,form.errors用于判断表单是否有错误信息,如果有,则通过循环遍历的方式将错误信息显示在页面上。
通过以上步骤,当管理员在保存数据时,如果数据验证失败,错误信息将会显示在管理员端,帮助管理员及时发现并修正错误。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云