Недопустимый тег блока: 'get_map_layout', ожидаемый 'elif', 'else' или 'endif'

Я столкнулся с хорошо известным TemplateSyntaxError. Это виджет, созданный с помощью django-autocomplete-light. Это часть оператора if, которая вызывает TemplateSyntaxError`

<div id="abstract_map" class="tasky_wall_style careers">
    <h1>
        What our interns saying
    </h1>
    <div class="blue_links global_map">
        <div class="review_container">
            {% if selected_layout %}
            {% get_map_layout layout=selected_layout %}
            {% endif %}
        </div>
    </div>
</div>

И ошибка:

Invalid block tag: 'get_map_layout', expected 'elif', 'else' or 'endif'

Я попытался {% load get_map_layout %} в шаблоне, но возникла другая ошибка 'get_map_layout' is not a valid tag library:....

Может кто-нибудь помочь мне понять, что происходит, чтобы я мог решить эту проблему.


person copser    schedule 26.03.2016    source источник
comment
Откуда взялся тег шаблона get_map_layout? Включен ли он в начало файла шаблона?   -  person sthzg    schedule 26.03.2016
comment
вот в чем проблема, когда я включаю его, я вызываю другую ошибку not valid tag library   -  person copser    schedule 26.03.2016
comment
Вы включили приложение, определяющее этот тег, в INSTALLED_APPS?   -  person Daniel Roseman    schedule 26.03.2016
comment
Да, он включен в INSTALLED_APPS   -  person copser    schedule 26.03.2016
comment
@PetarP извините, это сказано прямо в вопросе. кажется, мне пора закругляться... :) какое приложение предоставляет get_map_layout? Я искал в Google (и в документации по автозаполнению) и не нашел упоминания. Если это что-то нестандартное, также может быть проблема с кодом самого тега шаблона.   -  person sthzg    schedule 26.03.2016
comment
Да, это пользовательский виджет, посмотрите здесь, я отправил его на github.com/Copser /отзывы/дерево/мастер/отзывы   -  person copser    schedule 26.03.2016


Ответы (1)


Согласно последнему комментарию, я думаю, вы просто загружаете его не тем именем. Вместо {% load get_map_layout %} попробуйте {% load reviews %} поверх вашего шаблона.

Django разрешает пользовательские теги шаблона через имя модуля Python, в котором они определены (в данном случае reviews/templatetags/reviews.py), поэтому {% load reviews %} должен сделать все теги шаблона, определенные в reviews.py, доступными в вашем шаблоне.

person sthzg    schedule 26.03.2016
comment
Красиво, рад, что помогло. - person sthzg; 26.03.2016