Задать вопрос
@gromyko21

Custom template tag как создать 'list_product' is not a registered tag library.?

В общем для моего приложения нужна возможность выводить значение переменной(queryset). Погуглив в интернете, понял, что нужно создать свой тег. Так же нашел документацию на эту тему, но к сожалению, мне это не помогло.
Функция тега
from django import template
from products.models import Genre

register = template.Library()
@register.simple_tag
def list_product(request):
    return {'gerne':Genre.objects.all()}

Что вставляю в html
{% load list_product %}
      {% for i in  list_product%}
        {{ i }}
     {% endfor %}


Так же добавил в settings
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',

                'home.template_tags.base_tag.list_product', # путь к моей папке
            ],
        },
    },
]


В INSTALLED_APPS приложение соответственно лежит.
Файл с функцией находится в myapp/home/template_tags.py так же рядом лежит файл __init__.py
Два для уже роюсь по вопросам и документации и , видимо чего-то недопонимаю.
Ловлю ошибку
TemplateSyntaxError at /

'list_product' is not a registered tag library. Must be one of:

Предполагаю, что что-то не так в INSTALLED_APPS
ps вставлять переменную нужно в базовый шаблон
  • Вопрос задан
  • 1189 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы