python - 在 django 表单中输入重复的错误消息
问题描述
我试图避免在我的网站表单中出现重复的电子邮件。到目前为止,我能够做到这一点:
1.每当我输入重复的电子邮件时,它会导航回主页并且用户未保存{在我的情况下,团队未加入}。
2.在管理页面,当我尝试输入重复电子邮件时,我收到重复电子邮件地址的错误消息
我也想在我的表单中看到这条消息,但它会导航到主页。
这是我在 models.py 中的模型:
class Team(models.Model):
username = models.CharField(max_length=100)
email = models.EmailField(max_length=100,unique=True,error_messages={'unique':"Email already exists"})
contact=models.IntegerField(null=False,blank=False,default=1234567890)
def __str__(self):
return self.username
这是我在 forms.py 中的表格:
class TeamMembers(forms.ModelForm):
username = forms.CharField(required=True,max_length=100)
email = forms.EmailField(required=True,max_length=100,error_messages={'unique':"Email already exists"})
contact=forms.IntegerField(required=True)
class Meta:
model=Team
fields = ['username','email','contact']
这是我在views.py 中的功能
def join_team(request):
if request.method == "POST":
form = TeamMembers(request.POST)
if form.is_valid():
form.save()
form = TeamMembers()
messages.success(request,"Joined team")
else:
form = TeamMembers()
return render(request, 'user/join_team.html', {'form' : form })
这是我的 join_team.html
{% extends 'base.html' %}
{%load crispy_forms_tags%}
{% block content %}
<div class="content-section">
<form method="POST">
{% csrf_token %}
<fieldset class="form-group">
<legend class="border-bottom mb-4">Join our team</legend>
{{form|crispy}}
</fieldset>
<div class="form-group">
<button class="btn btn-outline-info" type="submit">Join</button>
</div>
</form>
</div>
{% endblock content %}
我想在表单页面上显示错误消息而不是转到主页。
我无法在任何地方找到这个问题,所以请帮助我!
解决方案
推荐阅读
- ionic-framework - ionic 4 - 防止在离子后退按钮上导航
- java - 使用 java regex 获取文本文件每一行的某些部分
- sql-server - 用其他记录中的完整字符串替换某些记录中的截断字符串
- c - C在一个结构中多个不同的联合
- python - 通过单击按钮终止正在运行的子进程
- azure-devops - 设置 chrome 驱动程序可执行路径不断导致我的构建失败
- arduino - Multitech mDot ARMmBed 平台与 Arduino 的 i2c 通信
- php - 从链接文本区域的 $_POST 数据中获取 id
- keras - Keras 2.2.4 使用后端 cntk-gpu 版本 2.5.1 运行缓慢
- python - 反正有没有为python和pyqt5使用qt creator和qt 3d studio