'tag' не является зарегистрированной библиотекой тегов.Должно быть одним из: - Приложение Django - PullRequest
0 голосов
/ 07 июня 2019

Я добавил свои простые теги в мой файл в тегах шаблона.Мой первый тег виден и работает нормально, но второй не работает.Я получаю информацию ''deposit_earn' is not a registered tag library. Must be one of:' после того, как я добавил теги в свой шаблон {% load deposit_earn %}.

Мой файл тегов выглядит следующим образом:

@register.simple_tag()
def multiply(number_instalment_loans, rrso, balance):
    rrso_percent = rrso/100
    return round(discounted_interest_rate(12, number_instalment_loans, rrso_percent, balance))

@register.simple_tag()
def deposit_earn(period, interest, balance):
    interest_percent = interest/100
    equals = balance * interest_percent * period / 12
    return round(equals)

Почему мой первый тег работает, а не второй?Я попытался перезагрузить сервер после регистрации тегов, но это не помогло.Любая помощь будет оценена.

1 Ответ

2 голосов
/ 07 июня 2019

https://docs.djangoproject.com/en/2.2/howto/custom-template-tags/

Вы должны импортировать имя файла шаблона тегов, а не имя метода

polls/
    __init__.py
    models.py
    templatetags/
        __init__.py
        poll_extras.py
    views.py

скажем, умножить и deposit_earn внутри poll_extras.py

тогда в вашем шаблоне вам просто нужно вызвать poll_extras

{% load poll_extras %}

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