aws s3 static files in django
- λ£¨νΈ μ¬μ©μ λ§κ³ IAM μ¬μ©μλ₯Ό νλ λ§λ€μ΄μ 루νΈμ μ°κ²°ν΄μΌν¨.
- 루νΈκ³μ μ MFA μΈμ¦μ μΆκ°νλ€.
- IAM κ³μ μΌλ‘ λ‘κ·ΈμΈ ν μΈμ¦ν€λ₯Ό λ°κΈλ°λλ€. WHY? 보μ μ격μ¦λͺ
μ λ§λ€μ΄μ£ΌκΈ° μν΄
- λ²ν·
- μ μ μΉ μ¬μ΄νΈ νΈμ€ν
ν λ νμν
index.html
νμΌμ μμ±νμ¬ μ
λ‘λ λ° νμ±ν
- λ²ν· μ μ±
μ€μ docs.com
- μ΄λ€ μ μ μκ² μ΄λ€ 리μμ€μ λν μ΄λ€ μ κ·Όμ νμ©/μ°¨λ¨ν μ§ λ±μ λν μ μ±
μ.
- ACL (Access Control List) μμ κΆ νμ±ν (μν΄λ λΌ)
μ₯κ³ νλ‘μ νΈλ‘ λμμμ...
- μμ‘΄μ± μ€μΉνκ³ settings.py μμ νκ³ , core/env.py μ€μ νκ³
- settings.py μ μμμ μ€μ (book-projectλ λ³λμ νμΌμ λΉΌλμ§λ§ κ·Όλ³Έμ λμΌ.)
from core.env import config
AWS_ACCESS_KEY_ID=config("AWS_ACCESS_KEY_ID", default=None)
AWS_SECRET_ACCESS_KEY=config("AWS_SECRET_ACCESS_KEY", default=None)
AWS_S3_ADDRESSING_STYLE = "virtual"
AWS_STORAGE_BUCKET_NAME=config("AWS_STORAGE_BUCKET_NAME", default="estsoft-ormi-bookstore")
AWS_S3_REGION_NAME="ap-northeast-2"
AWS_S3_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com"
AWS_DEFAULT_ACL="public-read"
AWS_S3_USE_SSL=True
DEFAULT_FILE_STORAGE = 'core.storages.backends.MediaStorage'
STATICFILES_STORAGE = 'core.storages.backends.StaticFileStorage'
DEFAULT_FILE_STORAGE
, STATICFILES_STORAGE
λ₯Ό κΈ°λ³Έ ν΄λμ€λ₯Ό νμ₯ν 컀μ€ν
ν΄λμ€μΈ MediaStorage, StaticFileStorage
λ‘ λ³κ²½ν κ²μ λ³Ό μ μλ€. νμΌμ λ€μ¬λ€λ³΄μ.
from storages.backends.s3boto3 import S3Boto3Storage, S3StaticStorage
class MediaStorage(S3Boto3Storage):
location = "media"
class StaticFileStorage(S3StaticStorage):
location = "static"
- μ₯κ³ ν
νλ¦Ώ js νμΌ λ‘μΌμ΄μ
μ
{% static 'js/____.js' %}
μμΌλ‘ λ³κ²½
- 그리κ³
STATIC_URL
μ리μ μ°λ¦¬ S3 κ°μ²΄λ€μ΄ λ΄κΈ΄ URLμ λ£μ΄μ£Όμλλ jsνμΌμ 127.0.0.1
μ΄ μλλΌ https://allbooks-choi-2.s3.amazonaws.com/static/js/getCookie.js
μ΄λ° μμΌλ‘ μμΉλ₯Ό μ λλ‘ μ°Ύμκ°λ λͺ¨μ΅μ λ³Ό μ μλ€.