Skip to content

Files

Latest commit

f857a23 · May 10, 2024

History

History
52 lines (46 loc) · 1.29 KB

README.md

File metadata and controls

52 lines (46 loc) · 1.29 KB
docker run -d -p 9000:9000 -p 9001:9001 -e "MINIO_ROOT_USER=user" -e "MINIO_ROOT_PASSWORD=password" minio/minio server /data --console-address ":9001"
python3 -m pip install django-storages boto3 django-minio-backend

settings.py

STATICFILES_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'

if DEBUG:
    AWS_ACCESS_KEY_ID = getenv('MINIO_ACCESS_KEY_ID')
    AWS_SECRET_ACCESS_KEY = getenv('MINIO_SECRET_ACCESS_KEY')
    AWS_STORAGE_BUCKET_NAME = getenv('MINIO_STORAGE_BUCKET_NAME')
    AWS_S3_ENDPOINT_URL = getenv('MINIO_API')
    AWS_S3_USE_SSL = False

MINIO_ENDPOINT = 'localhost:9000'
MINIO_ACCESS_KEY = getenv('MINIO_ACCESS_KEY_ID')
MINIO_SECRET_KEY = getenv('MINIO_SECRET_ACCESS_KEY')
MINIO_USE_HTTPS = False
MINIO_CONSISTENCY_CHECK_ON_START = True
MINIO_PRIVATE_BUCKETS = []
MINIO_PUBLIC_BUCKETS = [
    'static',
]

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

models.py:

from django_minio_backend import MinioBackend, iso_date_prefix

    file = models.FileField(
        null=True, blank=True, 
        storage=MinioBackend(bucket_name='static'),
        upload_to=iso_date_prefix
    )

template read.html

<embed src="http://localhost:9000/static/{{book.file}}" width=100% height="700px"/>
python3 manage.py collectstatic