AWS S3에 이미지 및 정적 파일을 업로드하는 방법
AWS 콘솔에서 S3 생성
バケットを作成 클릭 バケット名 를 넣고 나중에는 기본 설정으로 バケットの作成 를 합니다. [
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"POST",
"GET",
"PUT"
],
"AllowedOrigins": [
"*"
]
}
]
AWS 콘솔에서 IAM 사용자 생성
다음으로 S3을 조작할 수 있는 권한을 가진 사용자를 만들기 위해 IAM을 사용합니다.

사용자 이름과 액세스 유형 모두에 ✔ 다음 단계로 이동합니다.

기존 정책을 직접 연결에서 S3로 검색하여 AmazonS3FulAccess를 선택합니다.
그런 다음 다음 단계로 계속 진행하여 사용자를 만듭니다.
그 때 ACCESS_ID 와 SECRET_KEY (중요)가 나오므로 그것을 삼가해 주십시오.
주의를 기울이지 않으면 새 사용자를 다시 만들어야 합니다.
필요한 패키지 설치
$ pip install django-storages
$ pip install boto3
settings.py 설정
INSTALLED_APPS에 storages를 추가합니다.
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# My apps
'blog',
'searches',
# aws
'storages', #追加します。
]
settings.py 의 맨 아래에서 작성한 S3 버킷의 설정을 작성합니다.
settings.py#S3 BUCKETS CONFIG
"""
AWS_ACCESS_KEY_ID = '***********' # Iamのuserid
AWS_SECRET_ACCESS_KEY = '**********' # Iamのuser key
AWS_STORAGE_BUCKET_NAME = 'renren-django-blog' #S3バケットの名前
AWS_S3_FILE_OVERWRITE = False #同じ名前のファイルを上書きするか?
AWS_DEFAULT_ACL = None #
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
"""
보다 세밀한 설정에 대해서 보고 싶은 분은 공식 문서 를 봐 주세요.
실제로 S3에 업로드
표시되지 않는 경우 inspect 모드를 기동(windows이면 F12 ) 해, 파일의 패스를 조사한다
python manage.py collectstatic으로 자동으로 아마존에 올려줍니다.
AWS_ACCESS_KEY_ID 이나 AWS_SECRET_ACCESS_KEY 등은 기밀 정보로서 .env 파일에 쓰기 그것을 참조하는 것이 추천됩니다. 아래 사이트를 참고로 설정해 주십시오.
참고 사이트: 【Django】 환경 변수를 효율적으로 관리하는 「django-environ」의 사용법
결론만 말하면 settings.py 파일이 다음과 같습니다.
setting.pyAWS_ACCESS_KEY_ID = env('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = env('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = env('AWS_STORAGE_BUCKET_NAME')
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
.envAWS_ACCESS_KEY_ID=***********
AWS_SECRET_ACCESS_KEY=**********
AWS_STORAGE_BUCKET_NAME=**************
S3 버킷에 업로드
python manage.py collectstatic를 실행하면 현재 로컬 정적 폴더의 모든 파일이 S3에 업로드됩니다.
media 폴더에 이미지가 있는 경우 처음에만 수동으로 업로드해야 합니다.
참고
공식 문서
File Storage with AWS S3 Buckets Upload | Django (3.0) Crash Course Tutorials (pt 22)
Reference
이 문제에 관하여(AWS S3에 이미지 및 정적 파일을 업로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/juchilian/items/0ef520ce6c1ed849db04
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ pip install django-storages
$ pip install boto3
settings.py 설정
INSTALLED_APPS에 storages를 추가합니다.
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# My apps
'blog',
'searches',
# aws
'storages', #追加します。
]
settings.py 의 맨 아래에서 작성한 S3 버킷의 설정을 작성합니다.
settings.py#S3 BUCKETS CONFIG
"""
AWS_ACCESS_KEY_ID = '***********' # Iamのuserid
AWS_SECRET_ACCESS_KEY = '**********' # Iamのuser key
AWS_STORAGE_BUCKET_NAME = 'renren-django-blog' #S3バケットの名前
AWS_S3_FILE_OVERWRITE = False #同じ名前のファイルを上書きするか?
AWS_DEFAULT_ACL = None #
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
"""
보다 세밀한 설정에 대해서 보고 싶은 분은 공식 문서 를 봐 주세요.
실제로 S3에 업로드
표시되지 않는 경우 inspect 모드를 기동(windows이면 F12 ) 해, 파일의 패스를 조사한다
python manage.py collectstatic으로 자동으로 아마존에 올려줍니다.
AWS_ACCESS_KEY_ID 이나 AWS_SECRET_ACCESS_KEY 등은 기밀 정보로서 .env 파일에 쓰기 그것을 참조하는 것이 추천됩니다. 아래 사이트를 참고로 설정해 주십시오.
참고 사이트: 【Django】 환경 변수를 효율적으로 관리하는 「django-environ」의 사용법
결론만 말하면 settings.py 파일이 다음과 같습니다.
setting.pyAWS_ACCESS_KEY_ID = env('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = env('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = env('AWS_STORAGE_BUCKET_NAME')
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
.envAWS_ACCESS_KEY_ID=***********
AWS_SECRET_ACCESS_KEY=**********
AWS_STORAGE_BUCKET_NAME=**************
S3 버킷에 업로드
python manage.py collectstatic를 실행하면 현재 로컬 정적 폴더의 모든 파일이 S3에 업로드됩니다.
media 폴더에 이미지가 있는 경우 처음에만 수동으로 업로드해야 합니다.
참고
공식 문서
File Storage with AWS S3 Buckets Upload | Django (3.0) Crash Course Tutorials (pt 22)
Reference
이 문제에 관하여(AWS S3에 이미지 및 정적 파일을 업로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/juchilian/items/0ef520ce6c1ed849db04
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# My apps
'blog',
'searches',
# aws
'storages', #追加します。
]
#S3 BUCKETS CONFIG
"""
AWS_ACCESS_KEY_ID = '***********' # Iamのuserid
AWS_SECRET_ACCESS_KEY = '**********' # Iamのuser key
AWS_STORAGE_BUCKET_NAME = 'renren-django-blog' #S3バケットの名前
AWS_S3_FILE_OVERWRITE = False #同じ名前のファイルを上書きするか?
AWS_DEFAULT_ACL = None #
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
"""
AWS_ACCESS_KEY_ID = env('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = env('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = env('AWS_STORAGE_BUCKET_NAME')
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
AWS_ACCESS_KEY_ID=***********
AWS_SECRET_ACCESS_KEY=**********
AWS_STORAGE_BUCKET_NAME=**************
python manage.py collectstatic를 실행하면 현재 로컬 정적 폴더의 모든 파일이 S3에 업로드됩니다.media 폴더에 이미지가 있는 경우 처음에만 수동으로 업로드해야 합니다.
참고
공식 문서
File Storage with AWS S3 Buckets Upload | Django (3.0) Crash Course Tutorials (pt 22)
Reference
이 문제에 관하여(AWS S3에 이미지 및 정적 파일을 업로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/juchilian/items/0ef520ce6c1ed849db04
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AWS S3에 이미지 및 정적 파일을 업로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/juchilian/items/0ef520ce6c1ed849db04텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)