Django静态文件

348 阅读1分钟

静态文件

静态文件就是项目当中的一些静态的资源,比如页面中的图片,音频、视频、css/js等,这些资源可以放到一个指定的目录中,做统一的管理,前端需要加载静态资源时,就从这个指定的目录下获取。便于静态资源的管理。

<img src="/static/images/1.jpg" width="200" height="100">
<link href="/static/css/test.css" rel="stylesheet">
<script src="/static/js/test.js" type="text/javascript">
<audio src="/static/audio/1.mp3" controls="controls">
<video src="xxxx">

以上的这些就是前端页面中常用的页面标签,用来加载静态资源,当浏览器加载到这些标签时,就会向服务端自动发送HTTP请求,django服务接收到以"/static/"开头的请求时,便知道是请求静态资源的,然后到服务的根目录下的static目录下查找文件,找到文件后直接返回前端响应,不再走视图函数。

配置静态文件

这种静态文件的使用方式,需要预先在django项目中进行配置,具体方式如下:

#settings.py
STATIC_URL = "/static/"  #以/static/开头的请求是请求静态资源
STATICFILES_DIRS = (os.path.join(BASE_DIR,"static"),"appname/static",) #根目录下的static,或者应用下的static

更加的动态

模板中访问静态资源

{% load static %}

{% static "images/1.jpg" %}

<img src="{% static 'images/2.jpg'%}">pic</a>

练习

请求 /static/images/1.jpg

  1. 配置好静态文件 直接从/static/ 下拿资源,不走视图函数 即使有对应的路由匹配,也不走视图函数 在这里插入图片描述

  2. 可以配置一个路由,让其走视图函数 但是settings.py中就需要 将STATIC_URL="/static/" 改掉 不然还是走静态资源

在这里插入图片描述

上一篇:Django模板2
下一篇:Django的应用