영어 문서로 읽었던 걸 공유해본다. Django로 S3에 이미지 넣으려고 하는데 다른 사람들이 한 걸 보니 복잡해서 솔직히 못 따라했다.. 그런데 웬걸 쉽게 하는 방법이 있는 것이다..
일단은 S3에서 다 설정을 했다는 전제 하에!!! 이 글을 따라오면 되겠다.
1. boto3 설치
pi@daniel:~ $ pip install boto3
boto3는 s3랑 연결하려면 필요한 라이브러리다.
2. 장고 프로젝트인 myproject 생성
pi@daniel:~/workspace $ django-admin startproject myproject
3. 장고 앱 imageuploader 생성
pi@daniel:~/workspace/myproject $ python manage.py startapp imageuploader
4. myproject/settings.py에 imageuploader를 apps에 추가한다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'imageuploader',
]
5. imageuploader/models.py 수정
from django.db import models
# Create your models here.
class FaceImage(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
photo = models.FileField(upload_to = 'media/')
"이외에 원하는 거 있으면 필드 추가 하면 됨."
6. model makemigrations와 migrate하기
pi@daniel:~/workspace/myproject $ python manage.py makemigrations
pi@daniel:~/workspace/myproject $ python manage.py migrate
7. imageuploader/admin.py에 모델 추가
from django.contrib import admin
from .models import FaceImage
# Register your models here.
admin.site.register(FaceImage)
8. myproject/settings.py 마지막 줄에 이 친구들 추가.
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
AWS_ACCESS_KEY_ID = 'aws에서 발급받은 거 넣으세요'
AWS_SECRET_ACCESS_KEY = 'aws에서 발급받은 거 넣으세요'
AWS_STORAGE_BUCKET_NAME = 'aws에서 발급받은 거 넣으세요'
AWS_QUERYSTRING_AUTH = False
9. python manage.py runservere로 잘 되는지 확인
pi@daniel:~/workspace/myproject $ python manage.py runserver




ref) https://www.youtube.com/watch?v=nzLMA9WZqMM&t=604s
'조열심 카테고리 > 잡담' 카테고리의 다른 글
| [공부] 네트워크 관련 윈도우 커맨드 (0) | 2022.09.26 |
|---|---|
| [공부] 정보보호와 보안의 기초 3주차 (0) | 2022.09.26 |
| [공부] 정보보호와 보안의 기초 2주차 (0) | 2022.09.10 |
| [공부] 정보보호와 보안의 기초 1주차 (0) | 2022.09.10 |
| [Python] pir센서 감지 후 사진을 찍어 boto3를 이용해 aws s3에 파일 보내기 (0) | 2022.05.27 |