Ссылка на объект в письме - PullRequest
0 голосов
/ 06 октября 2018

У меня url:path('<int:id>',views.article_detail,name="detail") На сайте работает.

 <p><a href="{% url 'detail' id=article.id %}">{{article.title}}</a> </p>

Но если я попытаюсь дать ссылку в электронном письме, например

   <p><a href="{% url 'detail' id=article.id %}">article </a></p>

В ссылке я найдутолько

http://articles/36

Ссылка типа

<p><a href="127.0.0.1:8000+{% url 'detail' id=article.id %}">artickle! </a></p>

не работает.

1 Ответ

0 голосов
/ 06 октября 2018

У вас есть два способа выполнить то, что вам нужно.

Если это всего лишь одноразовая работа, я предлагаю что-то быстрое:

В вашем представлении импортируйте настройки и отправьте в шаблон 'settings.BASE_URL 'value

from django.conf import settings
base_url = settings.BASE_URL

Вы можете передать значение в своем контексте, чтобы создать URL, как вы уже пытались это сделать.

Другой вариант - создать тег для получения базыURL из настройки и сгенерируйте полную базу URL по заданному параметру

from django import template
from django.conf import settings

base_url = settings.BASE_URL
register = template.Library()

@register.simple_tag
 def add_domain(partial_url):
      return base_url + partial_url

В вашем шаблоне просто используйте

{% add_domain url_generated %}

Это всего лишь пример, вы можете определить более сложный тегдля генерации URL включен домен с параметром flag.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...