django中STATIC_ROOT和STATICFILES_DIRS区别 及MEDIA_ROOT
来源:互联网 发布:手机淘宝兼职青青岛 编辑:程序博客网 时间:2024/05/22 17:21
staticfiles:这是一个静态资源管理的app,django.contrib.staticfiles。老的版本中,静态资源管理一直是一个问题,部分app发布的时候需要带上静态资源,在部署的时候必须将每个app存在的static(这个目录是自己创建的)静态资源复制到项目根目录下同一个static目录(即staticfiles在项目目录下生成的static,与每个app下的static不同)。引入staticfiles之后,执行命令:python manage.py collectstatic就可以方便的将所用到的app中的静态资源复制到同一目录。
使用python manage.py collectstatic时项目settings.py中必须有(把所有app目录中的static集中到,项目目录中的static中)
STATIC_ROOT = os.path.join(BASE_DIR, "static")否则会提示错误,如下:
raise ImproperlyConfigured("You're using the staticfiles app "
django.core.exceptions.ImproperlyConfigured: You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.
此时如果删除app目录下static目录,会有403错误。
要把settings.py中STATIC_ROOT = os.path.join(BASE_DIR, "static")改为
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
省事可以不把app目录下static目录删除也不用在变动修改STATIC_ROOT了
把app目录下static目录删除也可以,但要在urls.py中加入静态文件处理的代码:
from django.contrib.staticfiles.urls
import
staticfiles_urlpatterns
# This will work
if
DEBUG
is
True
urlpatterns += staticfiles_urlpatterns()
还要把settings.py中STATIC_ROOT = os.path.join(BASE_DIR, "static")改为
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
staticfiles的主要相关配置与分析
STATIC_ROOT:运行上边提到的命令:python manage.py collectstatic 之后静态文件将要复制到的目录,这个目录只有在运行collectstatic时候才会用到,不能想当然的以为这个目录和MEDIA_ROOT的作用是相同的,否则在开发环境的时候可能一直无法找到静态文件。
STATIC_URL:设置的static file的起始url,这个只是在template里边引用到,这个参数和MEDIA_URL的含义相同。
STATICFILES_DIRS:和TEMPLATE_DIRS的含义差不多,就是除了各个app的static目录以外还需要管理的静态文件设置,比如项目的公共文件差不多。
各个app目录下的静态文件static/django会自动找到,这个点和app下的templates目录下差不多。
在urls.py中加入静态文件处理的代码:
from django.contrib.staticfiles.urls
import
staticfiles_urlpatterns
# This will work
if
DEBUG
is
True
urlpatterns += staticfiles_urlpatterns()
STATIC_ROOT及MEDIA_ROOT
1.3之前只有MEDIA_ROOT,不管是网站静态文件(js、css等)还是用户上传的文件都在同一个目录下。1.3开始两个目录分开了
这个MEDIA目录是在app根目录下新建的,不是项目根目录
- django中STATIC_ROOT和STATICFILES_DIRS区别 及MEDIA_ROOT
- Django的MEDIA_ROOT和STATIC_ROOT
- Django的MEDIA_ROOT和STATIC_ROOT
- Django的STATIC_ROOT和STATIC_URL以及STATICFILES_DIRS
- Django的MEDIA_ROOT和STATIC_ROOT(转)
- Django - staticfiles,STATIC_ROOT, STATIC_URL,STATICFILES_DIRS
- django STATIC_URL STATIC_ROOT MEDIA_URL MEDIA_ROOT
- Django下MEDIA_ROOT, MEDIA_URL, STATIC_ROOT, STATIC_URL解惑
- django static_root static_url media_root mdia_url详解
- django static_root static_url media_root mdia_url详解
- django static_root static_url media_root mdia_url详解
- django static_root static_url media_root mdia_url详解
- django static_root static_url media_root mdia_url详解
- 在django中使用 MEDIA_URL 和 MEDIA_ROOT
- Django ====> 1.4版本静态文件路径设置--MEDIA_ROOT,MEDIA_URL, STATIC_ROOT, STATIC_URL学习
- [Django1.6]The MEDIA_ROOT and STATIC_ROOT settings must different 解决
- Django中--debug改为False时,需要将静态文件配置到STATIC_ROOT中
- Django中render和render_to_response的区别
- Python语言编程基础--Hello World程序、赋值语句、变量名
- React-Native native-echarts Android端打release版问题
- PopupWindow简单使用
- admob 广告代码参考 iOS banner广告
- 欧几里得距离和曼哈顿距离
- django中STATIC_ROOT和STATICFILES_DIRS区别 及MEDIA_ROOT
- Activity中的状态保存与恢复,这些是你应该知道的
- pulltoRefresh里面有轮播和listView(代码)
- 剑指offer 之 Remove the Nth Node from the end of list
- 反编译流程
- AndroidStudio ADB WIFI 无线调试
- 四.viewPager +Handler加载图片Image 无限轮播 不加小白点
- Intellij IDEA找回Run Dashboard
- 数据结构实验之查找二:平衡二叉树