加载静态资源的方式:
在一个网页中,不仅仅只有一个html骨架,还需要css样式文件,js执行文件以及一些图片等。因此在DTL中加载静态文件是一个必须要解决的问题。在DTL中,使用static标签来加载静态文件。要使用static标签,首先需要{% load static %}。
1.首先确保django.contrib.staticfiles已经添加到settings.INSTALLED_APPS中。
settings中的INSTALLED_APPS中进行定义
如果在这里添加了多个APP,那么写在前面的优先级更高,为了防止有这样的情况出现,会有套娃的现象出现,在book内新建static文件夹,再在static内新建book文件夹,最后在book内放置静态文件,这样就不会导致调用失误了
2.确保在settings.py中设置了STATIC_URL。这个对应的是app中的
(这个不用管,默认是有的,)
3.先注册app,在已经安装了的app下创建一个文件夹叫做static,然后再在这个static文件夹下创建一个当前app的名字的文件夹,再把静态文件放到这个文件夹下。
4.如果有一些静态文件是不和任何app挂钩的。那么可以在settings.py中添加STATICFILES_DIRS,以后DTL就会在这个列表的路径中查找静态文件。
(全局的静态文件的优先级是高于APP内部的,所以依旧是建议在APP内增加套娃)
5.在模版中使用load标签加载static标签。比如要加载在项目的static文件夹下的style.css的文件。
其他操作:
{% load static %}
在HTML前加载静态文件夹,这个是和settings中的
APP front内加载静态文件:
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% include 'header.html' %}
<p>front 页面</p>
<link rel="stylesheet" href="{% static 'style.css' %}">
<img src="{% static '/front/logic.jpeg' %}" alt="">
<!-- <img src="{% static 'QQ图片20201020134714 - 副本.png' %}" alt="">-->
</body>
</html>