问题在标题中描述。我有一个使用Django
创建的博客模板。Django不显示我的模板的CSS
当我打开它通常,使用双击在HTML文件中,它看起来像这样:
但是当我通过从Django项目的URL打开它,它看起来像这样
它只显示一个绿色的正方形(css的一部分),但显然无法正确打开css。
任何想法来解决这个问题?
问题在标题中描述。我有一个使用Django
创建的博客模板。Django不显示我的模板的CSS
当我打开它通常,使用双击在HTML文件中,它看起来像这样:
但是当我通过从Django项目的URL打开它,它看起来像这样
它只显示一个绿色的正方形(css的一部分),但显然无法正确打开css。
任何想法来解决这个问题?
在Django中,您不需要双击文件就可以打开HTML,您需要首先运行服务器并使用localhost打开您的网站(就像您在第二张图片中所做的那样)。
通过这些图像判断,你确定把图像放在静态文件夹中吗?在Django中,HTML文件保留在应用程序的“模板”文件夹以及“静态”文件夹中的css,javascript和图像中。
如果这个答案对你没有帮助,那么你应该在这里发布你的代码,否则我找不到问题。
这是因为你的静态文件没有被正确渲染。
把里面
codingfacilito
/ | \
/ | \
another-app blog One-more-app
|
|
static
|
|
blog
/| \
/ | \
js css images
/ | \
/ | \
script1.js style1.css img1.jpg
script2.js style2.css img2.jpg
所有静态文件,上面是来存储静态文件最有用和推荐的方式。
现在,在你的HTML文件
HTML模板
Dont't忘记添加{%负载staticfiles%}
<!DOCTYPE html>
{% load staticfiles %} <!-- Don't forget this -->
<html>
<head>
<!-- Stylesheets -->
<link rel="stylesheet" href="{% static 'blog/css/style1.css' %}"/>
<link rel="stylesheet" href="{% static 'blog/css/style2.css' %}"/>
<!-- javascripts -->
<script src="{% static 'blog/js/script1.js' %}"></script>
<script src="{% static 'blog/js/script2.js' %}"></script>
</head>
</html>
<body>
<!--render your image now -->
<img src="{% static 'blog/images/img1.jpg' %}">
</body>
我解释目录结构很重要。现在它可能看起来对你来说是多余的,但它也许是最好的方式。因为当django收集静态文件时,它会进入每个应用程序的静态目录中,并收集所有文件,如果没有按照上述方式进行操作,将会出现名称冲突,并且可能会遇到问题。
嗨Astik,谢谢你的回答和你的时间。我对目录树有点困惑:为什么有一个 博客> satic> blog> css? 不能只有博客> satic> css? 以及如何在settings.py中使用变量STATIC_URL ='/ static /'?它与这个问题有关吗?再次感谢你:) –
@OldWolf只需按照上面的目录结构blog> static> blog> css。现在你可能不了解它的重要性,但它非常重要。对于开发过程,STATIC_URL ='/ static /'是可以的。 –
再次@Astik Anand。非常感谢你帮助我。现在它完美的作品:) –
让我们来看看你的JS控制台 – JacobIRR