Проверьте наличие установленных приложений django с помощью тегов django - PullRequest
0 голосов
/ 29 ноября 2018

Я пишу код для приложения, которое можно установить как модуль на несколько проектов django, каждый из которых можно настроить по-разному.Я ищу способ условно загрузить пакет в зависимости от того, как настроен проект.

Если конкретный пакет указан в INSTALLED_APPS в файле settings.py проекта, то загрузите пакетс {% load my_package %}.

Я представляю что-то вроде:

{% if package_is_installed %}
    {% load package %}
{% endif %}

<body>
{% if package_is_installed %}
    {% use part of the package %}
{% endif %}
</body>

Возможно ли это с тегами или какой-либо другой реализацией html или javascript?

1 Ответ

0 голосов
/ 29 ноября 2018

Было бы лучше оставить логику вне файлов шаблонов и иметь разные версии шаблонов.

Чтобы сделать это в шаблоне, нужно написать некоторый Python для фильтра или тега шаблона, так чтогораздо лучше практиковать сохранение логики в представлении, которое условно выбирает шаблон.

if 'myapp' in settings.INSTALLED_APPS:
    temmplate_name = 'myapp.html'
else:
    template_name = 'base.html'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...