Как создать url на django вне шаблона
У меня есть приложение, в котором при создании экземпляра пользователя отправляется сигнал для отправки сообщения электронной почты. Я реализую сигнал для отправки SMS.
В моем HTML шаблоне электронной почты есть эта строка, которая перенаправляет пользователя, мне нужно отправить ту же ссылку на SMS.
<a href="{{ uri }}{% url 'password-reset-and-active-account' uidb64=uid token=token %}">Aqui</a>
используемые там параметры передаются через этот контекст
context = {
'user': user,
'uid': urlsafe_base64_encode(force_bytes(user.pk)).decode("utf-8"),
'token': default_token_generator.make_token(user),
'uri': settings.ABSOLUTE_URI
}
как я могу построить этот URL вне шаблонов Django, потому что {% url 'password-reset-and-active-account' %}
не будет работать вне шаблона, правильно?
Что ж, вы можете использовать обратный метод. Это равносильно тегу шаблона url, но для программирования на python.
from django.urls import reverse
# ...
url = reverse('password-reset-and-active-account')
https://docs.djangoproject.com/en/3.2/ref/urlresolvers/#reverse