Проект Django не распознает поле
Итак, я создаю приложение для страницы входа в систему. У меня есть страница регистрации, где вы можете добавить имя пользователя, электронную почту и пароль, затем вам нужно подтвердить свою электронную почту с помощью кода, который отправляется на вашу электронную почту
все работает хорошо, включая отправку электронной почты, но подтверждение кода пользователя с помощью ввода шаблона вызывает у меня проблемы
Прежде всего, я покажу свои представления (не буду тратить время на модель, потому что это простая модель пользователя, с булевым полем is_email_confirmed по умолчанию = False)
views.py
def createuser(request):
form = MyUserCreationForm()
confirmed = User.is_email_confirmed
if request.method == 'POST':
form = MyUserCreationForm(request.POST)
if form.is_valid():
code = User.objects.make_random_password(length=6,allowed_chars='1234567890')
user = form.save(commit=False)
user.is_active = False
user.save()
user.code = code
usercode = user.code
user.save()
subject = 'Confirm your email'
confirmation_code = code
message = f'Confirm your email with this code: {confirmation_code}'
from_email = 'adryanftaborda@gmail.com'
to_email = user.email
send_mail(subject,message,from_email,[to_email])
input_code = request.POST.get('verify_code')
# NOT WORKING
if input_code == usercode:
confirmed = User.is_email_confirmed == True
if confirmed:
user.is_active = True
user.save()
return redirect('home')
else:
messages.error(request,'Wrong code.')
else:
messages.error(request,'An error occured during your registration')
context = {'form':form}
return render(request, 'signup.html', context)
Как я уже сказал, все вроде бы работает, пока здесь:
input_code = request.POST.get('verify_code')
# NOT WORKING
if input_code == usercode:
confirmed = User.is_email_confirmed == True
if confirmed:
user.is_active = True
user.save()
return redirect('home')
else:
messages.error(request,'Wrong code.')
в моем шаблоне, у меня
{% block content%}
{% if form.is_valid == False %}
<div>
<form method="POST" action="">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Register" />
</form>
<p>Already signed up?</p>
<a href="{% url 'login' %}">Login</a>
</div>
{% else %}
<div>
<form method="POST" action="{% url 'signup' %}">
{% csrf_token %}
Verification Code <input type="text" name="verify_code">
<button type="submit">Submit</button>
</form>
</div>
{% endif %}
{% endblock content %}
показывает с отпечатками ошибку, после копания всего, что здесь есть (включая реальный код)...
все возвращается на страницу регистрации с этой ошибкой:
введите описание изображения здесь
пользователь также не активен, как видно из модели django:
все работает, кроме этого маленького кусочка кода