在Django项目中,存储一个从未提供给用户的图像文件

在Django项目中,存储一个从未提供给用户的图像文件,django,Django,假设我有一个Django项目,其中包含一个生成PDF的视图,并且需要在PDF顶部有一个徽标。此徽标存储为图像文件,并且从未在模板中引用。静态文件存储在S3存储桶中 感觉这个徽标不应该是静态文件,因为它不需要存储在S3中。用户不应直接获取此文件;生成此PDF的视图是唯一可以打开该文件的视图。该文件不需要URL即可联机查看。它也感觉这不是一个媒体文件,因为它不是用户上传的东西。最后,我不认为这是需要存储在数据库中的东西,因为这个图像没有需要创建其他对象的“模型” 此类型的文件应存储在项目结构中的何处

假设我有一个Django项目,其中包含一个生成PDF的视图,并且需要在PDF顶部有一个徽标。此徽标存储为图像文件,并且从未在模板中引用。静态文件存储在S3存储桶中

感觉这个徽标不应该是静态文件,因为它不需要存储在S3中。用户不应直接获取此文件;生成此PDF的视图是唯一可以打开该文件的视图。该文件不需要URL即可联机查看。它也感觉这不是一个媒体文件,因为它不是用户上传的东西。最后,我不认为这是需要存储在数据库中的东西,因为这个图像没有需要创建其他对象的“模型”


此类型的文件应存储在项目结构中的何处?这种类型的文件有标准位置吗?

您可以使用多个存储类。假设您的
默认\u文件\u存储='storages.backends.s3boto.s3botostrage'
。然后,您仍然可以创建一个默认的例外,如下所示:

from django.db import models
from django.core.files.storage import FileSystemStorage

fs = FileSystemStorage(location='/media/photos')

class Car(models.Model):
    ...
    photo = models.ImageField(storage=fs)
存储到系统中的文件不必提供服务,但可以存在以在需要时进行处理


您可以使用多个存储类。假设您的
默认\u文件\u存储='storages.backends.s3boto.s3botostrage'
。然后,您仍然可以创建一个默认的例外,如下所示:

from django.db import models
from django.core.files.storage import FileSystemStorage

fs = FileSystemStorage(location='/media/photos')

class Car(models.Model):
    ...
    photo = models.ImageField(storage=fs)
存储到系统中的文件不必提供服务,但可以存在以在需要时进行处理