【问题标题】:What is this Django template tag?这个 Django 模板标签是什么?
【发布时间】:2014-06-14 07:13:17
【问题描述】:

我正在使用 Django,在基本模板中我看到:{% get_cms_html_fragment "html/footer" %}

从周围的语法我可以很容易地得出结论,这是某种页脚包含。但是,它不遵循 Django 模板中通常使用的 {% block headerexample %}{% endblock %} 的传统语法。有人认识这个吗?

【问题讨论】:

    标签: python django templates django-templates


    【解决方案1】:

    这是a template tag 的语法。仅供参考,block 是 built-in template tags 之一,get_cms_html_fragment 是自定义的。

    自定义模板标签和过滤器通过load内置模板标签加载。

    另见:

    【讨论】:

    • 是否有一个共同的地方定义了这个自定义标签,以便我可以编辑它并查看它的作用?我的模板中的 load 标记与我的 templatetags 目录中的任何文件名都不对应。 {% load cms_html_api %} 位于模板顶部。
    • @jefffabiny 好的,然后有cms_html_api 应用程序引入了get_cms_html_fragment 标签,检查一下。
    • 有几个不同的设置文件集成在一起,在已安装的应用程序部分中没有一个有cms_html_api。有一个看起来相关的声明:CMS_HTML_API_BASE_URL ='http://internal.network/the_api/content_fragment/'
    • @jefffabiny 好吧,这个设置对我来说很陌生,它可能是您的内部自定义应用程序之一。您能否显示您的INSTALLED_APPS 设置和pip freeze 命令的结果(如果您正在使用它,则在虚拟环境中)?
    【解决方案2】:

    在 Django 中,您可以轻松创建自定义标签。所以它可以是这个非常特定于项目的标签。 https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

    【讨论】:

      猜你喜欢
      • 2016-04-28
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2021-02-18
      • 1970-01-01
      • 2011-02-09
      • 2010-09-29
      • 2010-12-02
      相关资源
      最近更新 更多