模板不加载静态文件
Posted
技术标签:
【中文标题】模板不加载静态文件【英文标题】:Templates not loading static files 【发布时间】:2016-02-23 20:42:43 【问题描述】:我在加载css文件时遇到问题,在调用继承了读取css页面的base_ownsite.html的index.html之后,css没有加载......
base_ownsite.html
% load staticfiles %
<!DOCTYPE html>
<html lang="en">
<head>
<title>% block title %% endblock %</title>
<link rel="stylesheet" type="text/css" href="% static 'ownsite/css/style.css' %" />
</head>
<body>
% block content %
% endblock %
</body>
</html>
index.html
% extends 'ownsite/base_ownsite.html' %
% block content %
% if user.is_authenticated %
<p>Jesteś zalogowany <a href='accounts/my_view'> user.username </a></p>
<p><a href='/accounts/logout_view'>wyloguj</a></p>
% else %
<h2>Strona główna</h2>
<a href='/accounts/login_view'>logowanie</a>
<a href='/accounts/register_user'>rejestracja</a>
% endif %
% endblock %
style.css
body
background: yellow;
h2
color: red;
p
color: yellow;
settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = (
"/ownsite/static",
)
我添加了我的目录的打印屏幕
enter image description here
【问题讨论】:
代码中有一个空格(见下划线字符)/css_/style
Hmm in css 我在 "ownsite 有下划线,但我不知道为什么,没有任何空格:/...
【参考方案1】:
不要硬编码url,你的问题可能在STATICFILES_DIRS,改成:
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
还要确保你有
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
在文件的顶部
【讨论】:
我将其设置为您的建议,它需要帮助。也很奇怪,我将此路径替换为 app style.css 并显示此样式,但是当我更改此 style.css 中的某些内容时,它总是会在更改之前看到此 style.css。我还以另一个名称(如 a.css)创建文件,没关系,我做了一些更改并在页面上看到它......但我不明白为什么在项目静态文件夹和应用程序 style.css 中它不能正常工作:/ 您将静态文件保存在哪里?它在应用程序文件夹还是根目录中?只需在项目的根目录中创建静态文件夹,然后在其中创建文件夹 ownsite/css/ 并将 style.css 放在那里以上是关于模板不加载静态文件的主要内容,如果未能解决你的问题,请参考以下文章