在 Django 中,如何从扩展的 HTML 模板中链接静态文件?

Posted

技术标签:

【中文标题】在 Django 中,如何从扩展的 HTML 模板中链接静态文件?【英文标题】:In Django, how can I link a static file from within an extended HTML template? 【发布时间】:2017-01-22 10:37:42 【问题描述】:

我在 Django Docs 或任何 Stack Overflow 解决方案中都没有找到任何相同问题的解决方案。

假设我有一个 html 文件,如下所示:

% extends 'base.html' %
% block cssfile %
<!-- css link goes here -->
% endblock %
% block maincontent %
Hello World
% endblock %

当然会链接到base.html。 但是,我想在“块 cssfile”标签之间放置一个 css 文件,但考虑到 Django 用于链接静态文件的结构方式,它阻止了我这样做。

类似

% block cssfile %
<link rel="stylesheet"type="text/css"href="% static 'myappname/css/style.css' %"/>
% endblock %

会给我这个错误

TemplateSyntaxError at /myapp/1/ 第 3 行的块标记无效: '静态',预期的'端块'。您是否忘记注册或加载此内容 标记?

例如,我还尝试将 href 的“% %”标签替换为“ ”之类的标签。

任何帮助都会很棒,谢谢。

【问题讨论】:

% load staticfiles %了吗?..(你忘记注册或加载这个标签了吗?) Invalid block tag: 'static'的可能重复 【参考方案1】:

使用% static %之前需要输入% load staticfiles %

【讨论】:

以上是关于在 Django 中,如何从扩展的 HTML 模板中链接静态文件?的主要内容,如果未能解决你的问题,请参考以下文章

我们可以在 django 的单个 html 模板中扩展多个 html 吗?如果可以,那么如何?

从项目根 Django 扩展模板

如何更改扩展基本模板的 Django HTML 视图文件?

如何在扩展另一个文件的 django 模板中使用带有动态内容的 html 块片段?

Django:如何将相同的功能扩展到多个视图?

我们如何在 Django 中编写扩展多个父模板的子模板?