【问题标题】:How to prevent static files being included multiple times in Django templates?如何防止在 Django 模板中多次包含静态文件?
【发布时间】:2013-04-12 14:22:15
【问题描述】:

我有一些模板标签,其中在标题中包含一些 JavaScript 和 CSS 文件。问题是,如果我在同一个模板中多次使用这些标签,这些文件会被不必要地包含多次。有没有一种传统的方法来防止这种情况发生。 (就像 C++ 中的 #ifdef

【问题讨论】:

  • 听起来您想重构应用程序中的某些内容。

标签: django include django-templates


【解决方案1】:

我认为您需要组织您的模板,以便在顶层层次结构中包含包含,并且仅在您需要它的模板中从它继承。

Django 提供了一种非常强大的机制来扩展模板https://docs.djangoproject.com/en/dev/ref/templates/builtins/,但我认为您实际上并不需要类似预处理器的守卫,您可以在大部分时间里绕过它们。

也许你需要的一个最实际的例子会帮助你看到你的问题。

【讨论】:

  • 我使用模板继承将这些文件包含在我的标题中的一个块中。问题是,如果我使用多个扩展我的基础的标签,它们最终会被多次包含,因为我使用block.super。我需要block.super,因为我的标签有不同的依赖关系。
猜你喜欢
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-13
  • 1970-01-01
  • 1970-01-01
  • 2012-06-08
  • 2015-09-15
相关资源
最近更新 更多