Whatever Whenever Tech insights, coding tips, and AI stuff
Home New Post
Profile
Login Register

Select a category for your post

Click tags to select/deselect

Markdown supported: # Heading, **bold**, *italic*, `code`, - list items, etc.
Tip: Paste images directly from clipboard or drag-and-drop to upload!

AWS Set Up

Create & Set Up A User

  • IAM -> Users -> [User Name] -> Permissions -> Attach polity directly (AmazonS3FullAccess) OR Add user to a group with AmazonS3FullAccess
  • IAM -> Users -> [User Name] -> Security credentials -> Create access key -> Application running outside AWS
  • Write down 'Access key' & 'Secret access key' for later usage

Create & Set Up A S3 Bucket
Amazon S3 -> Buckets -> [Bucket Name] -> Permissions -> Bucket policy (Edit)

json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicRead",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::[Bucket Name]/*"
        }
    ]
}

Django Set Up

shell
pip install django-storages boto3
python
# settings.py
AWS_ACCESS_KEY_ID = config('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = config('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = config('AWS_STORAGE_BUCKET_NAME')
AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.ap-northeast-1.amazonaws.com'
AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400'}
# AWS_DEFAULT_ACL = None
AWS_DEFAULT_ACL = 'public-read'

AWS_LOCATION = 'static'
STATIC_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/{AWS_LOCATION}/'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

MEDIA_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/media/'
# MEDIA_ROOT = MEDIA_URL
AWS_S3_FILE_OVERWRITE = False
DEFAULT_FILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
shell
python manage.py collectstatic
Cancel

Add New Category

Add New Tag

Home Search | RSS Sitemap

© 2026 whatever.asia