什么是静态文件
- 前端写好的,能够直接调用使用的文件。
- 网站写好的js文件
- 网站写好的css文件
- 网站用到的图片文件
- 第三方框架
静态文件也是服务器的资源,要访问静态资源,需对其进行配置,因为后端没有开设其资源的接口。
静态文件的配置
在django项目的根目录下新建static文件夹,django默认不会创建static文件夹,需要自己手动创建。静态文件夹目录结构一般如下:
- static
--js
--css
--img
--第三方框架
在settings.py文件中配置内容
STATIC_URL = '/static/' # /static/一个令牌,拿着这个令牌就可以按顺序在STATICFILE_DIRS中查找资源。
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
在网页中访问静态资源
在我们输入的url中有/static/,其是settings.py中的STATIC_URL的值,要访问静态资源必须拿着这个令牌。

html文件中的静态解析
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<script src="/static/js/bootstrap.min.js"></script>
静态解析有一个缺点,每个url都要以/static/开头,当我们有有需求需要修改settings.py文件中的STATIC_URL = '/static/'的值为STATIC_URL = '/st/'时,我们代码中所有url都要对应修改为'/st/'开头,这是一个繁琐的过程。
html文件中动态解析
除了单引号中的静态资源名字需要对应填写,令牌的值不在需要携带。
{% load static %}
<img src="{% static 'image/IMG_0651.JPG' %}" alt="">
当我们修改了setting.py中STATIC_URL的值后,html文件访问静态资源的url不需要改动,如修改为STATIC_URL='st',其代码不需要变动
{% load static %}
<img src="{% static 'image/IMG_0651.JPG' %}" alt="">
浙公网安备 33010602011771号