django 中每个应用程序的单独媒体设置
Posted
技术标签:
【中文标题】django 中每个应用程序的单独媒体设置【英文标题】:Separate media settings for each app in django 【发布时间】:2020-07-09 21:51:24 【问题描述】:我正在构建一个基于 django 的类似博客的网站,它目前有一个应用程序。它包含一个媒体文件夹,其中包含用户上传的图像。但是,MEDIA_URL 和 MEDIA_ROOT 是在主 settings.py 文件中指定的。
但在未来,会有更多包含更多媒体的应用,因此我希望每个应用都有单独的 MEDIA_URL 和设置。
我尝试在 apps.py 文件中分别编写 MEDIA_ROOT 和 MEDIA_URL,但是从主 settings.py 文件中删除它会导致错误。
我也尝试过使用 FileSystemStorage,但即便如此,我也需要在 settings.py 文件中有一个 MEDIA_URLS。
如果您需要更多详细信息,请告诉我。 任何帮助表示赞赏,谢谢。
【问题讨论】:
【参考方案1】:也许,您可以在 MEDIA_ROOT 中为不同的模型使用不同的文件夹。 例如:
class MyModel(models.Model):
file = models.FileField(upload_to='my_model')
当您通过 MyModel admin 上传新文件时,在 MEDIA 文件夹中将创建一个名为 my_model 的文件夹,并且上传的文件将在那里。
【讨论】:
感谢您的方法!这是专业网站使用的标准方法吗? 我不知道别人是怎么做的,但这是我的方法以上是关于django 中每个应用程序的单独媒体设置的主要内容,如果未能解决你的问题,请参考以下文章