我正在做一个项目,用户必须先注册才能使用这个应用程序。我附上了下面的注册代码。
views.py
# Create your views here.
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST) # post request is gonna contain data in the message body and validate that form data
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
messages.success(request, f'Account created for {username}. You are now able to log in.')
return redirect('login')
else:
form = UserRegisterForm() # display a blank form
return render(request, 'users/signup.html', {'form': form})
{% extends 'users/base.html' %}
{% load crispy_forms_tags %}
{% block content %}
<div class="container">
<section id="formHolder">
<div class="row">
<!-- Brand Box -->
<div class="col-sm-6 brand">
<a href="#" class="logo">Bookstagram <span>.</span></a>
<div class="heading">
<h3>Bookstagram</h3>
<p>Show Off Your Bookish Aestheics</p>
</div>
</div>
<!-- Form Box -->
<div class="col-sm-6 form">
<!-- Signup Form -->
<div class="login form-peice">
<form class="login-form" method="POST">
{% csrf_token %}
<fieldset class="form-group">
{{ form|crispy }}
</fieldset>
<div class="CTA">
<input type="submit" value="Signup Now" id="submit">
<a href="{% url 'login' %}">I have an account</a>
</div>
</form>
</div><!-- End Signup Form -->
</div>
</div>
</section>
</div>
{% endblock content %}
如果我给予了一个错误的电子邮件,如“cindrella@gmail.c”或“cindrella@g.com”,系统会将用户详细信息保存在数据库中,然后他可以使用该凭据登录。但是电子邮件不正确。那么,我如何使用正确的电子邮件注册?如果电子邮件错误,系统应该显示不正确的电子邮件。因此,用户详细信息将不会存储在数据库中。
1条答案
按热度按时间tcomlyy61#
你可以使用django内置的'EmailValidator'来检查邮件域,如下所示。这里是docs来获取更多信息。