Совершенно запутался! Я использую консоль в качестве сервера электронной почты. В итоге я получаю False в token_generator.check_token в результате «Неверный или истекший токен». отображается на моей домашней странице, когда я перехожу к слову «http://localhost:8000/user/verify-email ... xample.com».
Вот мой код
from django.contrib.auth.tokens import PasswordResetTokenGenerator
class CustomPasswordResetTokenGenerator(PasswordResetTokenGenerator):
pass
# Define a single instance of the token generator
token_generator = CustomPasswordResetTokenGenerator()
def verify_email(request):
email = request.GET.get("email")
token = request.GET.get("token")
try:
user = CustomUser.objects.get(email=email)
except CustomUser.DoesNotExist:
messages.error(request, "Invalid verification link.")
return redirect("home")
if token_generator.check_token(user, token):
user.is_active = True
user.save()
messages.success(request, "Your email has been verified!")
return redirect("sign_in")
else:
messages.error(request, "Invalid or expired token.")
return redirect("home")
from django.core.mail import send_mail
from django.urls import reverse
from user_management.utils import token_generator
def send_verification_email(user, request):
token = token_generator.make_token(user)
verification_url = request.build_absolute_uri(
reverse("verify_email") + f"?token={token}&email={user.email}"
)
send_mail(
"Verify your email",
f"Click the link to verify your email: {verification_url}",
"no-reply@example.com",
[user.email],
fail_silently=False,
)
Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-django
Как я могу реализовать проверку электронной почты в Django ⇐ Python
Программы на Python
-
Anonymous
1731458542
Anonymous
Совершенно запутался! Я использую консоль в качестве сервера электронной почты. В итоге я получаю False в token_generator.check_token в результате «Неверный или истекший токен». отображается на моей домашней странице, когда я перехожу к слову «http://localhost:8000/user/verify-email/?token=cgegv3-ec1fe9eb2cebc34e240791d72fb10d7d&email=test16@example.com».
Вот мой код
from django.contrib.auth.tokens import PasswordResetTokenGenerator
class CustomPasswordResetTokenGenerator(PasswordResetTokenGenerator):
pass
# Define a single instance of the token generator
token_generator = CustomPasswordResetTokenGenerator()
def verify_email(request):
email = request.GET.get("email")
token = request.GET.get("token")
try:
user = CustomUser.objects.get(email=email)
except CustomUser.DoesNotExist:
messages.error(request, "Invalid verification link.")
return redirect("home")
if token_generator.check_token(user, token):
user.is_active = True
user.save()
messages.success(request, "Your email has been verified!")
return redirect("sign_in")
else:
messages.error(request, "Invalid or expired token.")
return redirect("home")
from django.core.mail import send_mail
from django.urls import reverse
from user_management.utils import token_generator
def send_verification_email(user, request):
token = token_generator.make_token(user)
verification_url = request.build_absolute_uri(
reverse("verify_email") + f"?token={token}&email={user.email}"
)
send_mail(
"Verify your email",
f"Click the link to verify your email: {verification_url}",
"no-reply@example.com",
[user.email],
fail_silently=False,
)
Подробнее здесь: [url]https://stackoverflow.com/questions/79182908/how-can-i-implement-email-verification-in-django[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия