Django应用中的静态文件处理
在日常开发中,我们都是把Django的Debug模式打开,方便调试,在这个模式下,由Django内置的Web服务器提供静态文件服务,不过需要进行一些配置,才能正确访问。
配置settings
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.0/howto/static-files/
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_collected')
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'static', 'media')
MEDIA_URL = '/media/'
配置路由
from django.conf import settings
from django.urls import path, include
from django.conf.urls.static import static
urlpatterns = [
...
]
# 调试模式下的静态文件服务
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
这样就可以在Debug模式下正常访问静态文件了,不过我们在把应用部署到生产环境之后,为了安全起见,不能开启Debug模式,这个时候就需要使用nginx或者Apache之类的服务器来提供静态文件服务。
在这之前,还需要运行
python manage.py collectstatic
命令来把各个包中的静态文件收集到我们前面定义的STATIC_ROOT中,然后再把这个路径交由nginx~
nginx配置
# Django media
location /media/ {
alias /path/to/django/static/media/; # your Django project's media files - amend as required
}
location /static/ {
alias /path/to/django/static_collected/; # your Django project's static files - amend as required
}
同时关闭Django的Debug模式,这样静态文件就都会使用nginx来提供访问~
欢迎交流
我整理了一系列的技术文章和资料,在公众号「程序设计实验室」后台回复 linux、flutter、c#、netcore、android、kotlin、java、python 等可获取相关技术文章和资料,同时有任何问题都可以在公众号后台留言~
Django应用中的静态文件处理的更多相关文章
- 擦他丫的,今天在Django项目中引用静态文件jQuery.js 就是引入报错,终于找到原因了!
擦 ,今天在Django项目中引用静态文件jQuery.js 就是引入报错,终于找到原因了! 问题在于我使用的谷歌浏览器,默认使用了缓存,导致每次访问同一个url时,都返回的是缓存里面的东西.通过谷歌 ...
- django框架中的静态文件引入
首先在项目文件中新建文件夹static 之后在settings.py中配置路径 如下图所示: 下一步在你刚创建的static文件夹中添加app的文件夹名称,例如:teacher,如下图: 之后在tea ...
- Django 项目中添加静态文件夹
在 mysite 文件夹下添加一个 statics 文件夹用来存放 js 文件 在 index.html 文件中添加 <!DOCTYPE html> <html lang=" ...
- Django中对静态文件的支持(转)
英文原文:[http://agiliq.com/blog/2013/03/serving-static-files-in-django/] 译文:[http://segmentfault.com/a/ ...
- django中的静态文件
静态文件 1.什么是静态文件 在django中静态文件是指那些图片.css样式.js样式.视频.音频等静态资源. 2.为什么要配置静态文件 这些静态文件往往不需要频繁的进行变动,如果我们将这些静态文件 ...
- 使用Django来处理对于静态文件的请求
引言 本方法适用于linux+python2.7+django1.2,使用django自带的web服务. 同样也适用于sina app engine. 1.准备工作 准备css文件,准备js文件,准备 ...
- Django 2.0 学习(13):Django模板继承和静态文件
Django模板继承和静态文件 模板继承(extend) Django模板引擎中最强大也是最复杂的部分就是模板继承了,模板继承可以让我们创建一个基本的"骨架"模板,它可以包含网页中 ...
- django:访问本地静态文件的配置
1.在setting.py中新增如下配置,static为静态文件的目录,BASE_DIR为项目根目录 STATIC_URL = '/static/' STATIC_ROOT = os.path.joi ...
- day52_9_16Django中的静态文件和orm
一.静态文件配置 在配置静态文件时,需要创建一个文件夹在Django项目文件夹下,名字与使用无关. 静态文件包括html等使用的不会变动的插件文件等.分为三个部分: css文件夹 当前网站所有的样式文 ...
- django源码分析——静态文件staticfiles中间件
本文环境python3.5.2,django1.10.x系列 1.在上一篇文章中已经分析过handler的处理过程,其中load_middleware就是将配置的中间件进行初始化,然后调用相应的设置方 ...
随机推荐
- vulntarget-a-wp
vulntarget-a 信息收集 存活扫描,目标开放了445还是win7,考虑一手永恒之蓝 arp-scan -l nmap -A -sT -sV 192.168.130.4 永恒之蓝 用nmap的 ...
- Python——第一章:循环语句while——break和continue
while True: content = input("请输入你要发送的内容(q结束):") print("发送内容:", content) 这样的代码会无限 ...
- 618大促,电商企业如何拔得头筹,“敏捷+ DevOps”有话说
前言 当今企业发展不再以大为目标,而更多追求强和快,因为只有后者才能适应时代变化让企业处以不败之地,我们称这个时代为快鱼吃大鱼的时代,追求快和强也是企业的新形态. 传统行业小到菜场经济,大到航空航天, ...
- 技术实践丨基于MindSpore框架Yolov3-darknet模型的篮球动作检测体验
摘要:通过对篮球动作的分类训练及识别检测实例的讲解和体验,使我们了解了Yolov3模型的原理.架构等基本知识,为日后的深入学习奠定了基础. 背靠全新的设计理念,华为云推出了 MindSpore深度学习 ...
- Serverless 架构就不要服务器了?
摘要:Serverless 架构不是不要服务器了,而是依托第三方云服务平台,服务端逻辑运行在无状态的计算容器中,其业务层面的状态则被开发者使用的数据库和存储资源所记录. Serverless 是什么 ...
- 独家下载!突破开源Redis,华为云十年自研内核修炼之路《企业级Redis技术与应用解读》重磅发布
摘要:互联网业务神器最新揭秘:GaussDB(for Redis)如何以自研架构,突破开源版本限制,带来企业级稳定可靠?通过入门篇.性能篇.测评篇.应用篇四个章节,聚焦问题解决.场景应用和开发实战,分 ...
- 从java注解漫谈到typescript装饰器——注解与装饰器
之前整理过<Java注解(批注)的基本原理>,在java里面,,注解(Annotation)是油盐,对于JavaScript来说,还中世纪欧洲的东方香料 装饰器和注解 装饰器和注解之前也搞 ...
- mysql新增数据库新增用户并授权用户
-- 创建数据库CREATE DATABASE baseName; -- 创建用户CREATE USER 'userName' @ '访问限制' IDENTIFIED BY 'password'; ...
- 火山引擎 DataTester:一次 A/B 测试,帮助产品分享率提升超 20%
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 对 C 端产品而言,增长的核心要素之一是用户活跃度.通过各类激发互动的方式,使信息得以在关系链中流转.传播,达成有效的信息 ...
- PPT 呼吸感
任何元素都应该保持一定的距离,留出可以"呼吸"的空间 呼吸感 怎么营造 不要让内容超出/接近边框 类似的元素摆放在一起 控制 行间距/字间距 行间距:1.3.字间距:1.0 :行间 ...