Пользовательские теги работают через раз django? - PullRequest
0 голосов
/ 15 января 2020

Я сделал ухо теленка. прости меня за этот глупый вопрос.

* Ошибка найдена, я пытаюсь загрузить функцию с моей загрузкой, когда загружается не функция, а пи файл.

* обновление добавить дерево каталогов

У меня полное недопонимание, я создал собственные теги для своего проекта. Мне было трудно принять их django (мне пришлось несколько раз перезагружать мой локальный сервер), наконец, это сработало, я сохраняю новый пользовательский тег, но не могу загрузить его в django, он говорит мне что тег не существует. Я перезапустил несколько раз. Я даже сделал копию моего предыдущего кода, просто изменив имя функции, но я не могу получить django, чтобы сказать, что она не существует ... Заранее спасибо:)

в приложении> теги шаблона с файлом инициализации et c ...

при использовании шаблона:

{% load tags_blog tags_files %} работа

{% load background_image %} не работает Первые два пользовательских тега работают

Рабочий тег загружен в django: (базовый. html)

register = template.Library()

@register.simple_tag()
def news_archive_date_blog():
    list_all_year = New.all_year_post()
    if len(list_all_year) > 1:
        list_all_year.remove(timezone.now().year)
        return list_all_year

@register.simple_tag()
def rallies_archive_date_blog():
    list_all_year = Rally.all_year_post()
    if len(list_all_year) > 1:
        list_all_year.remove(timezone.now().year)
        return list_all_year

нет работы (TemplateSyntaxError в / 'background_image' не является зарегистрированной библиотекой тегов.) (База. html)

@register.simple_tag()
def background_image():
    list_all_year = Rally.all_year_post()
    if len(list_all_year) > 1:
        list_all_year.remove(timezone.now().year)
        return list_all_year
  • bmvt:
    • bmvt
    • блог:
      • templatetags
        • init
        • tags_blogs
      • модели

django .template.exceptions.TemplateSyntaxError django .template.exceptions.TemplateSyntaxError: 'backgroundimage' не является зарегистрированной библиотекой тегов. Должен быть одним из: account admin_list admin_modify admin_stati c admin_urls сжатие кэша crispy_forms_field crispy_forms_filters crispy_forms_tags crispy_forms_utils debugger_tags выделение hitcount_tags i18n indent_text l10n log pwa rest_framework social_talker_t_15 * * * * теги_игры_игры_игры_игры_5 * * последний вызов последним) Файл "/usr/local/lib/python3.7/site-packages/django/template/defaulttags.py", строка 1021, в find_library, возвращает parser.libraries [name] во время обработки вышеуказанного исключения произошло другое исключение: файл "/usr/local/lib/python3.7/site-packages/django/contrib/staticfiles/handlers.py", строка 65, в вызов , возврат self.application (environment, start_response) Файл "/usr/local/lib/python3.7/site-packages/django/core/handlers/wsgi.py", строка 141, в call response = self. get_response (запрос) Файл "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", строка 75 , в ответе get_response = self._middleware_chain (запрос) Файл "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", строка 36, во внутреннем ответе = response_for_exception ( request, ex c) Файл "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", строка 90, в response_for_exception response = handle_uncaught_exception (request, get_resolver ( get_urlconf ()), sys.exc_info ()) Файл "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", строка 125, в handle_uncaught_exception, возвращаем debug.technical_500_response (request, * exc_info) Файл "/usr/local/lib/python3.7/site-packages/django_extensions/management/technical_response.py", строка 37, в null_technical_500_response six.reraise (exc_type, exc_value, tb) Файл "/usr/local/lib/python3.7/site-packages/six.py", строка 695, в файле повышения рэйз-рэйзинга.with_traceback (tb) "/usr/local/lib/python3.7/ site-packages / django / core / handlers / exception.py ", строка 34, во внутреннем ответе = get_response (запрос t) Файл "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", строка 145, в _get_response response = self.process_exception_by_middleware (e, request) File "/ usr / local / lib / python3 .7 / site-packages / django / core / handlers / base.py ", строка 143, в файле _get_response response = response.render ()" / usr / local / lib / python3. 7 / site-packages / django / template / response.py ", строка 106, в файле рендеринга self.content = self.rendered_content" /usr/local/lib/python3.7/site-packages/django/template/ response.py ", строка 81, в файле rendered_content template = self.resolve_template (self.template_name)" /usr/local/lib/python3.7/site-packages/django/template/response.py ", строка 63 , в resol_template вернуть файл select_template (template, using = self.using) Файл "/usr/local/lib/python3.7/site-packages/django/template/loader.py", строка 42, в механизме возврата select_template. get_template (template_name) Файл "/usr/local/lib/python3.7/site-packages/django/template/backends/django.py", строка 34, в get_template возвращает шаблон (self.engine.get_template ( template_name), self) Файл "/usr/local/lib/python3.7/site-packages/django/template/engine.py", строка 143, в шаблоне get_template, origin = self.find_template (file_name) File " /usr/local/lib/python3.7/site-packages/django/template/engine.py ", строка 125, в шаблоне find_template = loader.get_temp поздний (name, skip = skip) Файл "/usr/local/lib/python3.7/site-packages/django/template/loaders/base.py", строка 30, в содержимом get_template, origin, origin.template_name , self.engine, Файл "/usr/local/lib/python3.7/site-packages/django/template/base.py", строка 156, в init self.nodelist = self. Файл compile_nodelist () "/usr/local/lib/python3.7/site-packages/django/template/base.py", строка 194, в compile_nodelist возвращает файл parser.parse () "/ usr / local / lib /python3.7/site-packages/django/template/base.py ", строка 478, в результате разбора файла self.error (token, e) Файл" /usr/local/lib/python3.7/site -packages / django / template / base.py ", строка 476, в разборе compiled_result = compile_fun c (self, token) Файл" /usr/local/lib/python3.7/site-packages/django/template /loader_tags.py ", строка 266, в файле do_extends nodelist = parser.parse ()" /usr/local/lib/python3.7/site-packages/django/template/base.py ", строка 478, в анализировать файл self.error (token, e) "/usr/local/lib/python3.7/site-packages/django/template/bas e.py ", строка 476, in parse compiled_result = compile_fun c (self, token) File" /usr/local/lib/python3.7/site-packages/django/template/defaulttags.py ", строка 1078, в файле загрузки lib = find_library (синтаксический анализатор, имя) "/usr/local/lib/python3.7/site-packages/django/template/defaulttags.py", строка 1025, в имени find_library, "\ n ".join (sorted (parser.libraries)), django .template.exceptions.TemplateSyntaxError: 'backgroundimage' не является зарегистрированной библиотекой тегов. Должно быть одним из: account admin_list admin_modify admin_stati c admin_urls сжатие кэша crispy_forms_field crispy_forms_filters crispy_forms_tags crispy_forms_utils debugger_tags подсветка hitcount_tags i18n indent_text l10n log pwa rest_framework social_t_t_t_15_ * * * * * * * *

1 Ответ

0 голосов
/ 15 января 2020

Ну, у меня есть кто-то, кто заставил меня понять мою совершенно глупую ошибку, я пытаюсь использовать тег {% load%} для функции, когда загружается файл .py, поэтому мне нужно загрузить файл один раз и используйте теги потом.

...