【问题标题】:Invalid block tag: 'get_map_layout', expected 'elif', 'else' or 'endif'无效的块标记:'get_map_layout'、预期的 'elif'、'else' 或 'endif'
【发布时间】:2016-03-26 19:50:17
【问题描述】:

我面对的是一个众所周知的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:...

谁能帮我了解发生了什么,以便我解决这个问题。

【问题讨论】:

  • get_map_layout 模板标签从何而来?它是否包含在模板文件的顶部?
  • 这就是问题所在,当我包含它时,我会触发另一个 not valid tag library 错误
  • 您是否在 INSTALLED_APPS 中包含了定义该标签的应用程序?
  • 是的,它包含在INSTALLED_APPS
  • 是的,它是一个自定义小部件,在这里检查一下,我已将其推送到github.com/Copser/reviews/tree/master/reviews

标签: django django-templates django-autocomplete-light


【解决方案1】:

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

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

【讨论】:

  • 很好,很高兴它有帮助。
猜你喜欢
  • 2013-06-20
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 2015-09-16
  • 2015-07-08
  • 2013-06-10
  • 2021-12-08
相关资源
最近更新 更多