首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >STATICFILES_DIR、STATIC_ROOT和MEDIA_ROOT之间的差异

STATICFILES_DIR、STATIC_ROOT和MEDIA_ROOT之间的差异
EN

Stack Overflow用户
提问于 2014-06-04 02:39:52
回答 1查看 52.4K关注 0票数 104

这三个静态url有什么不同?

我不确定我是否正确,我正在使用MEDIA_ROOT存储我上传的照片(通过models.ImageField())

但是,我在我的管理员和admin.py中创建了一个JS脚本。我对媒体的定义如下:

代码语言:javascript
复制
....
class Media:
      js = ('/admin/custom.js', )

还有我的settings.py

代码语言:javascript
复制
 ....
 STATIC_ROOT = "/home/user/project/django1/top/listing/static"

我将custom.js添加到STATIC_ROOT/admin/custom.js中,但它不起作用。抛出404找不到错误。

然后我将STATIC_ROOT更改为STATICFILES_DIRS,它就可以工作了!!

代码语言:javascript
复制
....
STATICFILES_DIRS = "/home/user/project/django1/top/listing/static"

所以,我不明白这是怎么回事。事实上,我就是不明白STATIC_ROOTSTATICFILES_DIRS有什么不同。

目前我正在通过virtualenv在我的机器上测试Django,还没有部署,这是STATIC_ROOT不工作的原因吗?

EN

回答 1

Stack Overflow用户

发布于 2014-06-04 02:43:51

STATICFILES_DIRSSTATIC_ROOT的区别

STATICFILES_DIRS可以包含具有静态文件的其他目录(不一定是应用程序目录),当您运行collectstatic时,这些静态文件将被收集到您的STATIC_ROOT中。这些静态文件将由您的web服务器提供服务,它们将从您的STATIC_ROOT提供服务。

如果您的STATIC_ROOT中当前有您希望提供的文件,那么您需要将这些文件移动到一个不同的目录,并将另一个目录放在STATICFILES_DIRS中。您的STATIC_ROOT目录应该是空的,并且所有静态文件都应该收集到该目录中。

媒体文件和所有上传文件所在位置的MEDIA_ROOT。示例:图像、文件

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24022558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档