Не получается сделать проверку нажатия пользователем клавиши "отправить"
Я делаю систему подтверждения регистрации кодом из email. Суть такова: пользователь вводит данные(username, email, password, password1), создается аккаунт, его перенаправляют на страницу ввода кода из письма, в это время на почту, указанную им идет код. Если пользователь ввел верный код, то учетка не удаляется, если неверный - удаляется. Так вот, я не учел то, что пользователь может просто вверху указать адрес главной страницы, значит код не проверится, учетка останется без проверки. На этот случай я хочу сделать проверку: нажал ли пользователь на кнопку "отправить", если нет - то удалить учетку.
def registration(request):
global token, username
form = None
if request.method == 'POST':
form = UserRegisterForm(request.POST)
email = request.POST.get('email')
if User.objects.filter(email=email).exists():
messages.error(request, 'Пользователь с данным адресом уже зарегестрирован!')
else:
if form.is_valid():
ins = form.save()
username = form.cleaned_data['username']
password = form.cleaned_data['password1']
user = authenticate(username=username, password=password, email=email)
ins.email = email
ins.save()
form.save_m2m()
login(request, user)
token = ''.join(random.choice(string.ascii_lowercase + string.digits) for x in range(6))
html_message = render_to_string('authorization/email.html', {'username': username, 'token' : token})
send_mail('DjiSoc - Регистрация', 'blala', "DjiSoc",
[email], fail_silently=False, html_message=html_message)
return redirect('confirmation/')
else:
form = UserRegisterForm()
context = {'form': form}
return render(request, 'authorization/registration.html', context)
def logout_view(request):
logout(request)
return redirect('/')
def confirmation(request):
if request.method == 'POST':
if not 'sub' in request.POST:
User.objects.get(username__exact=username).delete()
return redirect('/')
else:
form = ConfForm(request.POST)
code = request.POST.get('code')
if form.is_valid():
if code == token:
return HttpResponseRedirect("/")
else:
#удалить пользователя
User.objects.get(username__exact=username).delete()
return redirect('/')
if not 'sub' in request.POST:
User.objects.get(username__exact=username).delete()
return redirect('/')
else:
form = ConfForm()
return render(request, 'authorization/confirmation.html', {'form': form})
sub - это кнопка