尝试从 django 中的子模板加载 css 样式表
Posted
技术标签:
【中文标题】尝试从 django 中的子模板加载 css 样式表【英文标题】:Trying to load a css stylesheet from a child template in django 【发布时间】:2020-11-17 20:10:04 【问题描述】:我有一个包含此代码的父模板
<head>
<meta charset="UTF-8">
<title>% block title %% endblock %</title>
% load static %
<link rel="stylesheet" href="% static 'base.css' %"/>
% block additionalStyles %% endblock %
</head>
我有一个包含此代码的子模板
% extends 'base.html' %
% load static %
% block additionalStyles %<link rel="sytlesheet" href="% static 'rants.css' %"/>% endblock %
这似乎不起作用,我也没有收到错误。 base.css 加载正常,当我检查网页上的元素时,我可以在 HTML 代码中看到<link rel="sytlesheet" href="static/rants.css"/>
,但它对它应该的任何元素都没有任何影响。有没有更好的方法来做到这一点?为什么它不起作用?
编辑:它神奇地开始工作了?? idk 为什么或如何,如果有人有同样的问题,这里是新代码,在孩子:
% extends "base.html" %
% load static %
% block title %Rants% endblock %
% block additionalStyles %
<link rel="stylesheet" href="% static 'rants.css' %"/>
% endblock %
在父母中:
% load static %
<title>% block title %% endblock % </title>
<link rel="stylesheet" href="% static 'base.css' %"/>
% block additionalStyles % % endblock %
【问题讨论】:
你添加% load static %
标签了吗?
是的,我在父模板和子模板中都做了
【参考方案1】:
请检查包含 CSS 文件的文件夹的路径。
当一切正常时,请记得清除浏览器缓存或以隐身模式加载网站/应用程序(适用于 Google Chrome 用户)。 在孩子身上
% extends "base.html" %
% load static %
% block title %Rants% endblock %
% block additionalStyles %
<link rel="stylesheet" href="% static 'path_to_folder/rants.css' %"/>
% endblock %
在父级中
% load static %
<title>Parent site% block title %% endblock % </title>
<link rel="stylesheet" href="% static 'path_to_folder/base.css' %"/>
% block additionalStyles % % endblock %
【讨论】:
【参考方案2】:需要给<link>
它自己的线路
% extends "base.html" %
% load static %
% block title %Rants% endblock %
% block additionalStyles %
<link rel="stylesheet" href="% static 'rants.css' %"/>
% endblock %
现在有效
【讨论】:
以上是关于尝试从 django 中的子模板加载 css 样式表的主要内容,如果未能解决你的问题,请参考以下文章