django - 我什么时候应该使用media_root或static_root?

bas*_*sh- 23 django

我对django中的静态文件和媒体文件感到困惑.我在其他地方看到人们可以互换使用它.

media_root应该何时使用,何时使用static_root

如果我有网站图片,我应该把它放在静态?如果我有产品图片,我会把它放在媒体上吗?

Dan*_*ien 32

MEDIA_ROOT是放置文件上载的目录,以及通常存储生成文件的位置.例如,我的一个Django应用程序允许用户上传图像.在这个模型中的一个类,我用的是ImageField从类型SORL-缩略图upload_to='%Y-%m'.每当用户上传图像时,该文件都存储在MEDIA_ROOT/%Y-%m/(用%Y当前年份%m替换并替换为当前月份编号).此外,当sorl-thumbnail为上传的图像生成缩略图时,默认情况下会将缩略图放在某处MEDIA_ROOT/cache/.

STATIC_ROOT用于配置放置静态资产的目录.例如,网站设计中使用的网站样式表,JavaScript文件和图像是进入的文件类型STATIC_ROOT.如果您安装了多个应用程序,则每个使用静态文件的应用程序都可以拥有自己的静态文件目录.您可以使用collectstatic管理功能(通过via调用python manage.py collectstatic)将所有应用程序的静态文件复制到其中STATIC_ROOT.