Rya*_*der 6

I) 安装boto3django-storages库。

II) 添加yandex_s3_storage.py文件,代码如下:

from storages.backends.s3boto3 import S3Boto3Storage

from sites.crm.settings import YOUR_YANDEX_BUCKET_NAME


class ClientDocsStorage(S3Boto3Storage):
    bucket_name = YANDEX_CLIENT_DOCS_BUCKET_NAME
    file_overwrite = False
Run Code Online (Sandbox Code Playgroud)

III) 添加以下代码settings.py

INSTALLED_APPS = [
    ...
    'storages',
    ...
]

...

# ----Yandex s3----
DEFAULT_FILE_STORAGE = 'yandex_s3_storage.ClientDocsStorage'  # path to file we created before
YANDEX_CLIENT_DOCS_BUCKET_NAME = 'client-docs'
AWS_ACCESS_KEY_ID = env('AWS_ACCESS_KEY')
AWS_SECRET_ACCESS_KEY = env('AWS_SECRET_ACCESS_KEY')
AWS_S3_ENDPOINT_URL = 'https://storage.yandexcloud.net'
AWS_S3_REGION_NAME = 'storage'
Run Code Online (Sandbox Code Playgroud)

IV) 将文件字段添加到您的模型中:

from sites.yandex_s3_storage import ClientDocsStorage

class ClientDocs(models.Model):
    ... 
    upload = models.FileField(storage=ClientDocsStorage())
    ... 
Run Code Online (Sandbox Code Playgroud)