django静态文件配置和使用

什么是静态文件

  • 前端写好的,能够直接调用使用的文件。
  • 网站写好的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="">
posted on 2021-08-09 19:55  爱吃沙拉的狮  阅读(101)  评论(0)    收藏  举报