无效的块标记:'get_map_layout'、应为 'elif'、'else' 或 'endif'

Invalid block tag: 'get_map_layout', expected 'elif', 'else' or '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:...

有人可以帮助我了解发生了什么,以便我解决这个问题。

根据最后一条评论,我认为您只是用错误的名称加载了它。而不是 {% load get_map_layout %} 试试 {% load reviews %} 在你的模板之上。

Django 通过定义它们的 Python 模块的名称解析自定义模板标签(reviews/templatetags/reviews.py 在这种情况下),因此 {% load reviews %} 应该使所有模板标签定义在 reviews.py 在您的模板中可用。