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

标签 django

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

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

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

最佳答案

MEDIA_ROOT是放置文件上传的目录,也是生成的文件通常存放的地方。例如,我的一个 Django 应用程序允许用户上传图像。在其中一个模型类中,我使用 ImageField输入来自 sorl-thumbnailupload_to='%Y-%m' .每当用户上传图像时,该文件都会存储在 MEDIA_ROOT/%Y-%m/ 中。 (用当前年份替换 %Y,用当前月份数替换 %m)。此外,当 sorl-thumbnail 为上传的图像生成缩略图时,它会放置缩略图 by default某处MEDIA_ROOT/cache/ .
STATIC_ROOT用于配置静态资源放置的目录。例如,用于网页设计的站点样式表、JavaScript 文件和图像是进入 STATIC_ROOT 的文件类型。 .如果您安装了多个应用程序,则每个使用静态文件的应用程序都可以有自己的静态文件目录。您使用 collectstatic管理函数(通过 python manage.py collectstatic 调用)将所有应用程序的静态文件复制到 STATIC_ROOT .

关于django - 我什么时候应该使用 media_root 或 static_root?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7456817/

相关文章:

python - Django 注销不起作用 - 不明白为什么

python - Django 模型中的多对多关系

regex - django 网址正则表达式

python - 使用空白电子邮件添加多个 Django 用户

python - Django ORM : How to query for the latest row based on a another attribute

python - 模板中的 Django "Display once"

jquery - django-cms 和 jQuery

python - 在 Django 应用程序中打开文件

django - 在文件上传和模型保存之前 Hook

Django - WSGIRequest'对象没有属性 'Get'