Как проверить электронную почту в Django с помощью OTP и UserCreationForm

<

Пожалуйста, объясните мне, как я могу отправить otp по электронной почте, используя модель пользователя по умолчанию и форму создания пользователя для проверки otp по электронной почте.

Мой код приложения пользователя:

<

from django import forms from django.contrib.auth import get_user_model from django.contrib.auth.forms import UserCreationForm

    email = forms.EmailField()

    class Meta:
        model = get_user_model()
        fields = ['username', 'email', 'password1', 'password2']

views.py

import pyotp
from django.contrib.auth.models import User
from .forms import UserRegisterForm
from django.contrib import messages
from django.shortcuts import render, redirect

def register(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            otp=pyotp.totp('base32secret3232')
            form.save()
            messages.success(request, f'Account Created for {User.username}. You can Login')
            return redirect('login')
    else:
        form = UserRegisterForm()
    return render(request, 'users/register.html', {'form': form})

Вы можете обратиться к следующей статье.

https://medium.com/analytics-vidhya/how-to-implement-otp-based-authentication-on-django-rest-framework-185ae8032f07#:~:text=Step%201%3A%20Find%20that%20phone,the%20authenticity%20of%20the%20user.

Вернуться на верх