Добавление ответа с полными инструкциями для создания пользовательского тега шаблона, который решает эту проблему, с помощью Django 2.0 +
В вашей папке приложения создайте папку с именем templatetags . В нем создайте __ init __. Py и custom_tags.py :
В custom_tags.py создайте функцию пользовательского тега, обеспечивающую доступ к произвольному ключу в настройках константе:
from django import template
from django.conf import settings
register = template.Library()
@register.simple_tag
def get_setting(name):
return getattr(settings, name, "")
Чтобы понять этот код, я рекомендую прочитать раздел о простых тегах в Django документах.
Затем вам нужно сообщить Django об этом (и любом дополнительном) пользовательском теге, загрузив этот файл в любой шаблон, в котором вы будете его использовать. Так же, как вам нужно загрузить встроенный статический тег:
{% load custom_tags %}
Когда он загружен, его можно использовать, как и любой другой тег, просто укажите нужные вам настройки. Так что если в ваших настройках есть переменная BUILD_VERSION:
{% get_setting "BUILD_VERSION" %}
Это решение не будет работать с массивами, но, если вам это нужно, вы можете использовать большую логику в своих шаблонах.