django-什么时候应该使用media\u root还是static\u root?

django-什么时候应该使用media\u root还是static\u root?,django,Django,我对django中的静态文件和媒体文件感到困惑。我在其他地方看到人们可以互换使用它 什么时候应该使用媒体根目录,什么时候应该使用静态根目录 如果我有网站图片,我应该把它放在静态?如果我有产品图片,我会把它放在媒体中吗?media\u ROOT是文件上传的目录,也是生成的文件通常存储的目录。例如,我的Django应用程序允许用户上传图像。在其中一个模型类中,我使用ImageField类型from withupload\u to='%Y-%m'。每当用户上载图像时,该文件都存储在媒体\u ROOT/

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

什么时候应该使用
媒体根目录
,什么时候应该使用
静态根目录


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

media\u ROOT
是文件上传的目录,也是生成的文件通常存储的目录。例如,我的Django应用程序允许用户上传图像。在其中一个模型类中,我使用
ImageField
类型from with
upload\u to='%Y-%m'
。每当用户上载图像时,该文件都存储在
媒体\u ROOT/%Y-%m/
(其中
%Y
替换为当前年份,
%m
替换为当前月号)。此外,当sorl缩略图为上传的图像生成缩略图时,它会将缩略图放置在
媒体\u ROOT/cache/
中的某个位置


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

中,感谢您的回复。还有一个后续问题。如果我有产品图片怎么办?那应该去哪里?管理员可以上传它,并且应该显示在站点上。@bash-:您是否在数据库中存储产品图像的路径?和的文件进入
MEDIA\u ROOT
,因此在这种情况下,是的,产品图像进入
MEDIA\u ROOT
(但您不需要手动将它们上载到
MEDIA\u ROOT
,您的应用程序应该这样做)。如果手动维护产品图像并在模板上的
标记中引用它们,则产品图像应位于
静态根目录中。