NoReverseMatch в /authentication/register Djangoproje

После того как я нажимаю кнопку регистрации, он показывает эту ошибку.он показывает вот так Я хочу, чтобы он отправлял ссылку активации на учетную запись пользователя. после нажатия кнопки регистрации пользователь регистрируется, но он не отправляет ссылку активации и показывает эту ошибку. пожалуйста, помогите мне

код в views.py код для подписки и ссылки активации.

class RegistrationView(View):
    def get(self, request):
        return render(request,'authentication/register.html')
    
    def post(self, request):
        username = request.POST['username']
        email = request.POST['email']
        password = request.POST['password']
        
        context={
            'fieldValues':request.POST
        }
    
        if not User.objects.filter(username=username).exists():
            if not User.objects.filter(email=email).exists():
                if len(password) < 6:
                    messages.error(request, 'Password too short')
                    return render(request, 'authentication/register.html',context)

                user = User.objects.create_user(username=username, email=email)
                user.set_password(password)
                user.is_active = False
                user.save()
                uidb67 = urlsafe_base64_encode(force_bytes(user.pk))
                domain = get_current_site(request).domain
                link = reverse('activate',kwargs={'uidb67': uidb67,'token': token_generator.make_token(user)})

                activate_url='http://'+domain+link
                email_body = 'Hello '+user.username+ \
                'Please use this link to verify your account\n' +activate_url
                email_subject='Activate your account'
                email = EmailMessage(
                    email_subject,email_body,'noreply@semicolon.com',
                    [email],  
                )
                email.send(fail_silently=False)
                messages.success(request,'Account successfully created')
                return render(request,'authentication/register.html')
        return render(request,'authentication/register.html')

class VerificationView(View):
    def get(self,request, uidb64, token):
        return redirect('login')

in utils.py

from django.contrib.auth.tokens import PasswordResetTokenGenerator
from six import text_type

class AppTokenGenerator(PasswordResetTokenGenerator):
    def _make_hash_value(self, user, timestamp):
        return (text_type(user.is_active)+text_type(user.pk)+text_type(timestamp))

token_generator = AppTokenGenerator()

в urls.py

path('activate/<uidb64>/<token>',VerificationView.as_view(),name="activate"),

в settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'main')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },



    EMAIL_HOST = os.environ.get('EMAIL_HOST')
    EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER')
    EMAIL_USE_TLS = True
    DEFAULT_FROM_EMAIL = os.environ.get('EMAIL_HOST_USER')
    EMAIL_PORT = 587
    EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD')
Вернуться на верх