这三个静态url有什么不同?
我不确定我是否正确,我正在使用MEDIA_ROOT
存储我上传的照片(通过models.ImageField()
)
但是,我在我的管理员和admin.py
中创建了一个JS脚本。我对媒体的定义如下:
....
class Media:
js = ('/admin/custom.js', )
还有我的settings.py
....
STATIC_ROOT = "/home/user/project/django1/top/listing/static"
我将custom.js
添加到STATIC_ROOT/admin/custom.js
中,但它不起作用。抛出404找不到错误。
然后我将STATIC_ROOT
更改为STATICFILES_DIRS
,它就可以工作了!!
....
STATICFILES_DIRS = "/home/user/project/django1/top/listing/static"
所以,我不明白这是怎么回事。事实上,我就是不明白STATIC_ROOT
和STATICFILES_DIRS
有什么不同。
目前我正在通过virtualenv在我的机器上测试Django,还没有部署,这是STATIC_ROOT
不工作的原因吗?
发布于 2014-06-04 02:43:51
STATICFILES_DIRS
与STATIC_ROOT
的区别
STATICFILES_DIRS
可以包含具有静态文件的其他目录(不一定是应用程序目录),当您运行collectstatic
时,这些静态文件将被收集到您的STATIC_ROOT中。这些静态文件将由您的web服务器提供服务,它们将从您的STATIC_ROOT提供服务。
如果您的STATIC_ROOT中当前有您希望提供的文件,那么您需要将这些文件移动到一个不同的目录,并将另一个目录放在STATICFILES_DIRS
中。您的STATIC_ROOT
目录应该是空的,并且所有静态文件都应该收集到该目录中。
媒体文件和所有上传文件所在位置的MEDIA_ROOT
。示例:图像、文件
https://stackoverflow.com/questions/24022558
复制相似问题