Django实现media、static静态资源通过url加载访问
Django实现media、static静态资源通过url加载访问
Django项目中一般上传的静态文件会存储在根目录的media
文件夹下,template模板使用的静态css、js、image等文件存在static
目录下,所以如何配置media
、static
目录的静态访问?
官方文档:https://docs.djangoproject.com/en/4.0/howto/static-files/
How to manage static files (e.g. images, JavaScript, CSS)
修改setting.py配置文件
首先确认django.contrib.staticfiles
在INSTALLED_APPS
配置项中
INSTALLED_APPS = [..."django.contrib.staticfiles",...
]
media
、static
文件夹位置需要修改setting.py
配置文件,使项目指导文件夹位置在哪。具体配置如下:
STATIC_URL = "/static/"MEDIA_ROOT = "media"
MEDIA_URL = "/media/" # 跟STATIC_URL类似,指定用户可以通过这个url找到文件
配置urls.py路由访问
在urls.py
文件中配置静态资源访问路由。
# 这是手动引用项目中的setting文件,如果是这样引用settings.STATIC_ROOT应该写成settings.STATIC_URL
# from hwblog import settings from django.conf import settings # 这是自动引用Django中的setting配置
from django.conf.urls.static import staticurlpatterns = ([# ... the rest of your URLconf goes here ......
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
)
扩展-STATICFILES_DIRS配置
在项目中有可能静态资源存储的位置不仅在static
目录下,这时可以修改setting.py
文件添加STATICFILES_DIRS
配置增加多个静态资源目录,Django会在list中的目录去寻找url访问的资源。
# 设置django的静态文件目录列表
# 官方文档:https://docs.djangoproject.com/en/4.0/ref/settings/#std-setting-STATICFILES_DIRS
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),"D:\static\media\cakeimages",("download", "D:\static\download"), # 通过(prefix, path) tuple形式对访问路径设置别名
]
增加配置后就可以通过http://127.0.0.1:8000/static/xxx.jpg
来访问D:\static\media\cakeimages
目录下的xxx.jpg
资源。
别名的访问通过http://127.0.0.1:8000/static/download/meixi.jpg
来访问D:\static\download
目录下meixi.jpg
资源。
Django实现media、static静态资源通过url加载访问相关推荐
- 【Javaweb】静态资源style.css加载不出来
Javaweb项目中静态资源style.css加载不出来 1. 首先检查路径 这里定位到css文件夹下的style.css文件,随后进入该文件进行查看图片资源路径是否正确 使用的是相对路径,并无错误, ...
- Spring boot 默认静态资源路径与手动配置访问路径的方法
这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在application.propertis中配置 ##端口号 s ...
- nginx配置静态资源html,通过nginx服务器访问静态资源(示例代码)
通过nginx服务器访问静态资源 引言 之前在做毕设的时候接触过nginx,那时候是用来做前后端分离的.一转眼都快一年了,nginx的相关内容也忘的差不多了. 有过接触前端的同学都知道,直接在标签的s ...
- 静态资源部署到服务器不能访问
静态资源部署到服务器不能访问 背景 前端静态资源部署到服务器后不能访问,手机上可以访问,发现是10080端口的锅,谷歌浏览器认为10080端口是不安全的端口
- vue-cli3.x正确打包项目,解决静态资源与路由加载无效的问题,history模式下配合使用nginx运行打包后的项目
vue-cli3.x正确打包项目,解决静态资源与路由加载无效的问题,history模式下配合使用nginx运行打包后的项目 参考文章: (1)vue-cli3.x正确打包项目,解决静态资源与路由加载无 ...
- android: 静态XML和动态加载XML混合使用,以及重写Layout控件
近期对android里面控件修改做了很多实验,由于公司需求很多,不得不重写很多控件.程序目标无非是:高效.轻巧.清晰.标准化 完成动态加载Layout有两种方法,依据个人喜好进行选择: 方法1:静态主 ...
- combotree 可以异步加载吗_Unity AssetBundle 资源打包,加载,本地缓存方式,安卓,PC本地加载路径问题...
AssetBundle的定义和作用: 1,AssetBundle是一个压缩包包含模型.贴图.预制体.声音.甚至整个场景,可以在游戏运行的时候被加载. 2,AssetBundle自身保存着互相的依赖关系 ...
- Javafx的WebEngine的url加载不输出结果坑,gc回收了局部变量
一.坑场景复现 源于w3cschool的JavaFX WebEngine测试例子,运行代码都没有输出,一直在研究为什么会出现这样的结果. 在测试过程中使用WebEngine的html加载,使用WebE ...
- Webpack实战(九):实现资源按需加载-资源异步加载
第八篇[<教你搞懂webpack如果实现代码分片(code splitting)>] (https://blog.csdn.net/lfcss/article/details/104099 ...
最新文章
- MyBatis常用配置解析-environments标签
- 提高ASP.NET首页性能的十大方法
- RTMP中FLV流到标准h264、aac的转换
- php %3ch1%3e字体,phpWebSite搜索模块跨站脚本执行漏洞
- Java课堂作业03
- java 医疗监护_医疗监护仪解决方案
- JVM?干就完了!(一) - hello world
- QQ群无法下载视频和图片解决方案
- 『随笔』基本功与招式
- [转]奇虎360黑匣子之谜:暗藏后门盗取用户隐私
- 算法学习(九)之“宽度优先搜索”
- 毕业设计-基于 MAT LAB 的神经网络在股市预测中的应用
- Linux之NTFS、FAT32、exFAT各种格式硬盘挂载整理
- php重启后卡顿,电脑突然卡顿严重
- zabbix 服务部署!!!!
- 十分钟内让你看懂中国经济形势,房价为何上涨
- 孩子像谁软件在线测试,测测你像哪位明星软件
- 100天精通Oracle-实战系列 - 总目录
- 【产品设计】删除确认文案,猛男落泪
- matlab k l变换题目,K-L变换及例题技术分析.ppt
热门文章
- 国内大型的渲染农场中,做云渲染哪个平台更好?
- 重磅!「自然语言处理(NLP)」全球学术界”巨佬“信息大盘点(三)!
- 使用Scala编写Spark程序求基站下移动用户停留时长TopN
- 用最简单的方法配置运行OpenGL红宝书第9版源码示例
- 2018施耐德电气绿色能效全球创新案例挑战赛中国区总决赛闪耀收官
- 读书笔记-构筑企业护城河的四大方面
- hive初始化元数据的时候出现 Error:FUNCTION ‘NUCLEUS_ASCII‘ already exists解决方法
- SpringBoot整合邮箱发送验证码
- python去除数据列中的英文
- 以上帝视角进行资产梳理