Django中的静态文件、路径、访问静态文件的方法

1.什么是静态文件

    不能与服务器端做动态交互的文件都是静态文件
    如:图片,css,js,音频,视频,html文件(部分)

2.静态文件配置

    在 settings.py 中配置一下两项内容:

    1.配置静态文件的访问路径
        通过哪个url地址找静态文件
        STATIC_URL = ‘/static/’
        说明:
            指定访问静态文件时是需要通过 /static/xxx或 127.0.0.1:8000/static/xxx
            xxx 表示具体的静态资源位置

    2.配置静态文件的存储路径 STATICFILES_DIRS
        STATICFILES_DIRS保存的是静态文件在服务器端的存储位置

    示例:

    # file: setting.py
    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, "static"),
    )
      

3.访问静态文件

    使用静态文件的访问路径进行访问

        访问路径: STATIC_URL = ‘/static/’

        示例:

        <img src="/static/images/lena.jpg">
        <img src="http://127.0.0.1:8000/static/images/lena.jpg">

 

settings.py中设置

 

DEBUG = True #注意 如果将DEBUG设置为 False 将无法访问到静态文件

STATIC_URL = '/static/'STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),
)

访问的例子 http://127.0.0.1:8000/static/code.png

 

 

    通过 {% static %}标签访问静态文件
        {% static %} 表示的就是静态文件访问路径

        加载 static
            {% load static %}

        使用静态资源时
            语法:
                {% static '静态资源路径' %}
            示例:
                <img src="{% static 'images/lena.jpg' %}">

        此setting配置静态文件的方案,只用于测试开发环境,

        正式上线后,将采取新的解决方案:

        ​ 1、nginx 挂载静态文件

        ​ 2、CDN 内容网络分发服务,【阿里云 网宿 蓝汛】,将所有静态文件交由CDN即可

        ​ 只需将代码中所有src地址,填写成cdn公司提供的地址域名即可

        ​ CDN - 用户请求静态资源时,解析用户所在位置信息,将请求调度到离用户最近的服务器上,减少无必要网络层跳转
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/liuxingxing_star/article/details/103995191

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/812576.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

独一无二:探索单例模式在现代编程中的奥秘与实践

设计模式在软件开发中扮演着至关重要的角色&#xff0c;它们是解决特定问题的经典方法。在众多设计模式中&#xff0c;单例模式因其独特的应用场景和简洁的实现而广受欢迎。本文将从多个角度详细介绍单例模式&#xff0c;帮助你理解它的定义、实现、应用以及潜在的限制。 1. 什…

华为OD-C卷-结队编程[200分]

题目描述 某部门计划通过结队编程来进行项目开发, 已知该部门有 N 名员工,每个员工有独一无二的职级,每三个员工形成一个小组进行结队编程, 结队分组规则如下: 从部门中选出序号分别为 i、j、k 的3名员工,他们的职级分别为 level[i],level[j],level[k], 结队小组满…

FreeRTOS基本介绍

RTOS&#xff0c;Real Time Operating System&#xff0c;实时操作系统&#xff0c;是指具有实时性、能支持实时控制系统工作的操作系统。 它&#xff08;RTOS&#xff09;的首要任务是调动所有资源完成实时控制任务的工作&#xff08;确保实时性&#xff09;&#xff0c;其次才…

数据结构篇1—《顺序表》

文章目录 &#x1f6a9;前言1. 数据结构的概念2. 数据结构的分类3. 顺序表3.1. 顺序表的分类&#xff08;1&#xff09;静态顺序表&#xff08;2&#xff09;动态顺序表 4. 动态顺序表实现4.1. 实现步骤&#xff08;1&#xff09;框架结构&#xff08;2&#xff09;SeqList.h头…

【八股】MySQL

面试题 知道什么是覆盖索引吗&#xff1f; 覆盖索引是指&#xff0c;查询使用的索引&#xff0c;需要返回的列&#xff0c;在该索引的叶子节点中已经能够全部找到。 简单的来说&#xff0c;覆盖索引就是查询索引后&#xff0c;已经得到了所需字段的信息&#xff0c;不需要回表…

如何准备2024年汉字小达人:18道历年考题示例和解析、备考提醒

现在距离2024年第11届汉字小达人比赛还有六个多月的时间&#xff0c;如何利用这段时间有条不紊地备考呢&#xff1f;我的建议是两手准备&#xff1a;①把小学1-5年级的语文课本上的知识点熟悉&#xff0c;重点是字、词、成语、古诗。阅读理解不需要。②把历年真题刷刷熟&#x…

linux如何使 CPU使用率保持在指定百分比?

目录 方法1&#xff1a;&#xff08;固定在100%&#xff09; 方法2&#xff1a;&#xff08;可以指定0~100%&#xff09; 方法3&#xff1a;使用ChaosBlade工具&#xff08;0~100%&#xff09; 方法1&#xff1a;&#xff08;固定在100%&#xff09; for i in seq 1 $(cat /pro…

工具01-禅道

禅道使用 禅道介绍禅道核心管理思想-敏捷方法scrum禅道功能 禅道使用 禅道介绍 禅道核心管理思想-敏捷方法scrum 理解&#xff1a;快速迭代&#xff0c;持续交付可以工作的软件项目。 禅道功能 有研发项目管理、内置需求管理、任务管理、测试用例管理、缺陷管理、计划发布等…

vscode常用插件

1. chinese&#xff08;汉化编译器&#xff09; chinese插件适用于 VS Code 的中文&#xff08;简体&#xff09;语言包&#xff0c;此中文&#xff08;简体&#xff09;语言包为 VS Code 提供本地化界面。 2、vetur&#xff08;vue 2开发必备&#xff09;volar&#xff08;vu…

Redis深入解析:HyperLogLog、Bitmap和Geospatial的奇妙应用

本文深入探讨了Redis数据库中的三种特殊数据类型&#xff1a;HyperLogLog、Bitmap和Geospatial。 HyperLogLog用于高效估算集合基数&#xff0c;牺牲小部分准确度以节省空间Bitmap提供位操作&#xff0c;适用于二元数据的高效记录与查询Geospatial处理地理位置数据&#xff0c…

【Jenkins】Jenkins自动化工具介绍

目录 技术背景常规的手动打包步骤 Jenkins简介起源与发展Jenkins的核心价值1.自动化1.1代码构建1.2测试自动化1.3自动部署 2.持续集成与持续部署CI/CD的概念如何减少集成问题更快速地发布软件版本 Jenkins优势Jenkins的主要竞争对手Travis CI:CircleCI:GitLab CI: Jenkins与其他…

SpringBoot之集成Redis

SpringBoot之集成Redis 一、Redis集成简介二、集成步骤2.1 添加依赖2.2 添加配置2.3 项目中使用 三、工具类封装四、序列化 &#xff08;正常都需要自定义序列化&#xff09;五、分布式锁&#xff08;一&#xff09;RedisTemplate 去实现场景一&#xff1a;单体应用场景二&…

vim卡死了,没有反应怎么办?

解决办法&#xff1a; 很有可能是你有个在window下的好习惯&#xff0c;没事儿就ctrl s保存文件。但是在vim里&#xff0c;ctrl s默认是发送一种流控制信号&#xff0c;通常用于停止终端的输出&#xff0c;所以你的屏幕就卡死了。 解决办法也很简单&#xff0c;按下ctrl q即…

NJU PA0

NJU PA0 使用教程提供的源再进行sudo apt install … 可能会出现 Unmet dependencies 此类报错 可以安装 aptitude sudo apt install aptitude sudo aptitude install <package>然后它会提示你&#xff0c;选 n 进行降级。再选 Y 确认 或者 将 /etc/apt/sources.list 下…

一步一步写线程之八线程池的完善之三任务的封装

一、线程池中的任务 在前面的线程池操作中&#xff0c;任务只是通过std::function来实现。从实际的出发需求来说&#xff0c;基本上一般的线程任务使用其实已经够用。但在实际情况中&#xff0c;可能会遇到一些情况&#xff0c;比如不支持c11&#xff0c;或者为了某种目的无法…

【c++】优先级队列|反向迭代器(vector|list)

优先级队列的常用函数的使用 #include<iostream> #include<queue> using namespace std;int main() {priority_queue<int>st;st.push(1);st.push(7);st.push(5);st.push(2);st.push(3);st.push(9);while (!st.empty()){cout << st.top() << &qu…

UDP简单总结

UDP&#xff1a;用户数据报协议 特点: 无连接、不可靠通信 不事先建立连接&#xff0c;数据按照包发&#xff0c;一包数据包含&#xff1a;自己的IP、程序端口、目的地IP、程序端口和数据(限制在64KB内) 发送方不管对方是否在线&#xff0c;数据在中间丢失也不管&#xff0c;…

SpringBoot与MyBatisPlus的依赖版本冲突问题

记录使用SpringBoot和MyBatisPlus时遇到的版本冲突问题解决。 java版本&#xff1a;jdk17 废话&#xff1a;&#xff09;目前在IDEA中使用Spring官方的脚手架最低jdk版本竟然是jdk17了。 当使用SpringBoot3.0版本(3.2.4)&#xff0c;配合使用MP3.5.2版本时报错&#xff1a; Er…

对于所有对象都通用的方法⭐良好习惯总结

对于所有对象都通用的方法⭐良好习惯总结 Object是每个类的父类&#xff0c;它提供一些非final方法&#xff1a;equals、hashCode、clone、toString、finalize... 这些方法在设计上是可以被子类重写的&#xff0c;但是重写前需要遵守相关的规定&#xff0c;否则在使用时就可能…

应用实战|从头开始开发记账本2:基于模板快速开始

上期视频我们创建好了BaaS服务的后端应用。从这期视频开始&#xff0c;我们将从头开发一个互联网记账本应用。本期视频我们介绍一下如何使用模板快速开启我们的应用开发之旅。 应用实战&#xff5c;从头开始开发记账本2&#xff1a;基于模板快速开始 相关代码 本期视频我们介绍…