from django.conf import settings from django.contrib.auth.tokens import PasswordResetTokenGenerator from django.contrib.sites.shortcuts import get_current_site from django.urls import reverse_lazy from django.utils.encoding import force_bytes from django.utils.http import urlsafe_base64_encode def posli_reset_hesla(u, request=None): uid = urlsafe_base64_encode(force_bytes(u.pk)) token = PasswordResetTokenGenerator().make_token(u) url = "https://%s%s" % ( str(get_current_site(request)), str(reverse_lazy("reset_password_confirm", args=[uid, token])) ) u.email_user( subject="Vítej mezi řešiteli M&M!", message="""Milý řešiteli, milá řešitelko, tvůj e-mail byl právě zaregistrován na mam.matfyz.cz. Heslo si prosím nastav na: %s Těšíme se na tvé příspěvky do našeho semináře, Organizátoři M&M -- Tento e-mail byl vygenerován automaticky, chceš-li nás kontaktovat, napiš nám na adresu mam@matfyz.cz. """ % url, # TODO: templates/autentizace a django/contrib/auth/forms.py říkají, jak na to lépe from_email=settings.REGISTRACE_EMAIL, )