Абстрактные URL, которые не являются частью вашего сайта в Django - PullRequest
0 голосов
/ 17 июня 2019

Скажем, например, на вашем сайте django, у вас есть много кнопок / ссылок, которые перенаправляют кого-либо на http://stackoverflow.com.

Вместо того, чтобы жестко кодировать это каждый раз, как

<a href="http://stackoverflow.com" target="_blank" rel="noopener">

есть способ абстрагировать его, чтобы у вас был один большой список URL-адресов, и вы можете просто ссылаться на него в своем шаблоне с помощью тегов django?

stackoverflow = "http://stackoverflow.com"
<a href="{{ stackoverflow }}" target="_blank" rel="noopener">

1 Ответ

0 голосов
/ 18 июня 2019

Когда вы пишете в представлении что-то вроде

return render(request, 'polls/index.html', context)

context - это словарь, в котором вы можете хранить нужные значения и позже ссылаться на них в шаблоне с помощью {{ your_key }}.

У вас также может быть модуль, в котором вы определяете / добавляете их, сгруппированные, скажем, в sites dict, затем вы импортируете его в представление и делаете

from external_urls import sites
...
context.update(sites)
return render(request, 'polls/index.html', context)

Остерегайтесь столкновений имен сайтов с другим контекстом.ключи.Возможно, вместо этого сделайте

...
context['sites'] = sites

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

   {{ sites['sitename'] }}

Вы также можете подумать о загрузке этого sites через настройки.

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