Django send_mail перенаправление
Я пытаюсь включить в письмо тег якоря, который перенаправляет на деталь запроса, но при нажатии на ссылку
Вот как я отправил письмо:
from django.core.mail import send_mail
from django.conf import settings
from django.template.loader import render_to_string
send_mail(
subject='Request Rejected',
message=f'Your request has been rejected by {self.request.user.username}.',
from_email=settings.EMAIL_HOST_USER,
recipient_list=[self.get_object().student.email],
html_message=render_to_string('request/request_mail.html', {'content': f'Your request has been rejected by {self.request.user.username}.', 'obj':self.get_object()})
)
request_mail.html
:
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<p>{{ content }}</p>
<a href="{% url 'request-detail' obj.id %}">Click here to view details of the request</a>
</body>
</html>
Согласно документации, это правильное поведение тега шаблона {% url %}.
Возвращает абсолютную ссылку на путь (URL без доменного имени) соответствующую заданному представлению и необязательным параметрам.
Для определения домена, вероятно, нужно использовать метаданные контекста запроса <2>>, аналогично . Или гораздо лучше, если вы используете один домен, хранить домен где-нибудь, т.е. в переменной настроек (но в зависимости от случая использования это не всегда то, что вам нужно).request.META['HTTP_HOST']