我的问题不是该question的重复问题,与之无关
基本上,我得到了以下模型,其中一些上载的文档将是公开的,而另一些则是私有的。要确定文档是否为私有文档,请在创建实例时设置字段is_public=True/False
,然后在 AWS S3存储桶中选择正确的方向。因此,我希望能够在PrivateMediaStorage()
is_public=False
from my_project.storage_backends import PrivateMediaStorage
class Document(models.Model):
file = models.FileField(upload_to="uploaded_documents/%d-%m-%Y")
# file = models.FileField(upload_to="uploaded_documents/%d-%m-%Y",
# storage=PrivateMediaStorage())
uploaded_by = models.ForeignKey(UserProfile,blank=True,null=True)
nb_download = models.IntegerField(default=0)
is_public = models.BooleanField(default=False)
这里是重要的存储类。
from storages.backends.s3boto3 import S3Boto3Storage
from django.conf import settings
class PrivateMediaStorage(S3Boto3Storage):
location = settings.AWS_PRIVATE_MEDIA_LOCATION
default_acl = 'private'
file_overwrite = False
custom_domain = False