django中的静态文件
静态文件
1.什么是静态文件
在django中静态文件是指那些图片、css样式、js样式、视频、音频等静态资源。
2.为什么要配置静态文件
这些静态文件往往不需要频繁的进行变动,如果我们将这些静态文件的路径写死,则不利于后期我们的操作。因此,我们需要在django中配置一下静态文件的路径,以便日后对静态文件的操作。
3.如何在django中配置静态文件
1)在setting.py中最下方配置如下数据:
STATIC_URL = '/static/' # 就是为静态文件的绝对路径起了一个别名,以后我们只需要用路径/static/即可
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "statics"),
] # 静态文件的绝对路径,就是第二步静态文件的创建路径
2)在项目文件下创建statics文件夹

3)接下来,我们在html文件里就可以引用静态文件了,如:
<link rel="stylesheet" href="/static/bootstrap-3.4.1-dist/css/bootstrap.min.css">
<script src="/static/bootstrap-3.4.1-dist/js/jquery-3.6.0.min.js"></script>
<script src="/static/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
/static/...这里底层逻辑其实采用了django中URL相对路径的命名方法,
流程是:1.遇到/开头的相对地址,浏览器会把当前url的协议、ip和端口保留,然后拼接为127.0.0.1:8000/static/...
2.当发现路径是static时,django会在setting.py中找静态文件的路径,找到一个在项目文件下的statics文件夹,寻找静态文件资源!
此时,问题来了?大家注意到没有,模板层的/static/是写死的,这就使得静态文件的加载依然具有相当的局限性!例如,当产品经理需要你修改静态文件的别名时,规定当遇见statics时才是静态文件时,我们该怎么办??一个个的去模板里面修改路径吗??
此时,我们就需要考虑,当静态文件的路径变了当时候,我们应该如何一下子将模板里的static改成statics?为此,我们需要引用django种在一个名为static.py的文件中定义的static、get_static_prefix(了解)标签,二者都可以解决该问题!
{% load static %} #注意:必须先加载文件static.py,这里的static不是指setting.py里面设置的别名!!
<link rel="stylesheet" href="{% static 'bootstrap-3.4.1-dist/css/bootstrap.min.css' %}">
<script src="{% static 'bootstrap-3.4.1-dist/js/jquery-3.6.0.min.js' %}"></script>
<script src="{% static 'bootstrap-3.4.1-dist/js/bootstrap.min.js' %}"></script>
<!--注意:此处的static是一个定义在static.py中的一个标签,名字与别名一样而已,不要搞混-->
当采用如上方式之后,在计算机渲染的时候,STATIC_URL =的别名,会动态的渲染给static,这样就不需要在手动的一个个修改模板层的静态文件地址了!
django中的静态文件的更多相关文章
- Django中对静态文件的支持(转)
英文原文:[http://agiliq.com/blog/2013/03/serving-static-files-in-django/] 译文:[http://segmentfault.com/a/ ...
- 在django中访问静态文件(js css img)
刚开始参考的是别的文章,后来参考文章<各种 django 静态文件的配置总结>才看到原来没有但是没有注意到版本,折腾了一晚上,浪费了很多很多时间.后来终于知道搜索django1.7访问静态 ...
- django中关于静态文件的引入(这边是指边主要是jquery和bootstrap
一. 创建文件夹 首先在项目的根目录中新建一个文件夹,这个文件夹的名称最好以static命名 二. 修改配置 在项目的settings文件中,拉倒最下面,可以看到 STATICFILES_DIR ...
- Django中使用静态资源/文件
Django中常需要引用js,css,小图像文件,一般我们把这一类文件称为静态文件,放置在static文件夹中,接下来,对Django中配置静态文件进行下傻瓜式的步骤介绍 在工程目录下新建static ...
- Django (七) token&静态文件&媒体文件
token&静态文件&媒体文件 1. token 1. 会话技术 2. 服务端会话技术 3. 它实际上就是手动实现的session 4. 实现token 4.1 在models.py中 ...
- 擦他丫的,今天在Django项目中引用静态文件jQuery.js 就是引入报错,终于找到原因了!
擦 ,今天在Django项目中引用静态文件jQuery.js 就是引入报错,终于找到原因了! 问题在于我使用的谷歌浏览器,默认使用了缓存,导致每次访问同一个url时,都返回的是缓存里面的东西.通过谷歌 ...
- django项目部署在Apache服务器中,静态文件路径的注意点
django Apache部署静态文件的路径注意点 静态文件放在对应的 app 下的 static 文件夹中 或者 STATICFILES_DIRS 中的文件夹中. 当 DEBUG = True 时, ...
- django加载静态文件
在一个网页中,不仅仅只有一个 html 骨架,还需要 css 样式文件. js 执行文件以及一些图片等,因此在 DTL 中加载静态文件是一个必须要解决的问题.在 DTL 中,使用 static 标签来 ...
- Django 配置访问静态文件
1.settings.py 首先在 settings 文件中,引用 os 模块: import os 定义根目录: BASE_DIR = os.path.dirname(os.path.dirna ...
随机推荐
- CentOS 7.9 安装 zookeeper-3.7.0
1. 下载 Zookeeper Zookeeper 官网 使用 wget 下载: wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper ...
- 【单片机】NB-IoT移远BC28调试笔记
一.入网总体思路 入网思路是参考 <Quectel_BC95&BC35-G&BC28_应用设计指导_V1.1.pdf>来做的.流程如图所示: 二.具体调试细节3.1 AT+ ...
- [gym102978C] Count Min Ratio
[gym102978C] Count Min Ratio 给定 \(B\) 个蓝色的球. \(R\) 个红色的球以及一个绿色的球,同颜色的球不可区分.对于一种球的排列方式,记 \(l_B,r_B,l_ ...
- Jmeter基础入门应用举例
举例当然应该有接口下面以常用的百度搜索接口为例: 1.接口地址: http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试 2.请求参数 ie:编码方式,默认 ...
- c++ 快速乘
First 在一些数学题中,两个数相乘运算很多,同时又很容易溢出,如两个 long long 相乘 今天本蒟蒻来总结一下快速乘的两种方法 1:二进制 和快速幂的原理一样,优化一个一个加的算法,复杂度\ ...
- es6.4.2api
这是讲数据库的数据导入到es里 所有用到了mysql! 1.依赖 <?xml version="1.0" encoding="UTF-8"?> & ...
- E104-BT01超低功耗蓝牙模块BLE4.0协议的片载系统解决方案
1.E104-BT01简介 E104-BT01 是亿佰特设计生产的一款小体积的蓝牙模块,贴片型(引脚间距 1.27mm),自带高性能 PCB 板载天线.支持 BluetoothV4.0 标准,简单配置 ...
- 在海思芯片上使用GDB远程调试
1 前言 使用海思平台上(编译工具链:arm-himix200-linux)交叉编译 GDB 工具(使用版本8.2,之前用过10.2的版本,在编译 gdbserver 遇到编译出错的问题,因为关联了其 ...
- 在jupyter中配置c++内核
安装 xeus-cling conda install xeus-cling -c conda-forg xeus-cling 是一个用于编译解释于C++的Jupyter内核目前,支持Mac与Linu ...
- idea中一些常用的快捷键
ctrl+shift+alt:多行操作psvm:生成main()方法:fori:生成for循环:Ctrl+Alt+v:自动补齐返回值类型ctrl+o:覆写方法ctrl+i:实现接口中的方法ctrl+s ...