본문 바로가기

Django4

Djongo datetime JSON Serializable Error model에서 deadline = models.DateField(auto_now_add=False) 형태로 DateField를 만들었습니다. Serializer로 데이터를 넣는건 문제가 없었는데, 가져와서 Response 해주는게 문제였습니다. 파이썬으로 불러올 때 datetime type으로 오기 때문에, json으로 리턴해주는게 문제였습니다. 이를 해결하기 위해, 이전 글에서 작성했던 JSONEncoder에 추가적으로 아래와 같이 수정했습니다. https://zih0.tistory.com/13 import datetime class JSONEncoder(json.JSONEncoder): def default(self, o): if isinstance(o, ObjectId): return str(o) .. 2021. 8. 19.
Djongo ObjectID $oid 형식 수정하기 저는 현재 Djongo를 이용해서 Django + MongoDB 환경에서 프로젝트를 진행중입니다. Model.objects.get 또는 filter를 사용해서 데이터를 불러올 경우, Response 안에 ObjectID가 아래와 같이 반환되는 경우가 있습니다. { "_id": { "$oid": "abc123" } } $oid 부분이 마음에 들지 않았고 아래와 같이 반환되었으면 했습니다. { "_id": "abc123" } 구글링을 하다가 답을 찾을 수 있었습니다. https://stackoverflow.com/questions/16586180/typeerror-objectid-is-not-json-serializable#16586277 이를 위해 JSONEncoder를 수정해주었습니다. 타입이 Objec.. 2021. 8. 14.
DRF에서 Google Cloud Storage 사용하기 - Django에서 GCS 연결하기 ref : https://django-storages.readthedocs.io/en/latest/backends/gcloud.html#installation Google Cloud Storage — django-storages 1.11.1 documentation Your Google Storage bucket name, as a string. Required. Your Google Cloud project ID. If unset, falls back to the default inferred from the environment. The OAuth 2 credentials to use for the connection. If unset, falls back to the default inferred .. 2021. 8. 8.
DRF에서 Google Cloud Storage 사용하기 - GCS 생성 및 키 발급 이미지 파일 업로드 기능을 구현하기 위해 S3나 GCS를 사용하려고 했습니다. 아마존 프리티어 기간이 다 끝난 관계로 이번에 구글 GCP로 전체적인 서버를 구현하였습니다. Cloud Storage 버킷 생성 우선 Cloud Storage 버킷을 생성합니다. GCP 콘솔에 들어와 Cloud Storage 선택 후, 버킷 만들기를 클릭합니다. 버킷 이름을 지정해줍니다. 다음으로 버킷 서버 위치를 지정합니다. 저는 서울을 선택했습니다. 저는 어플에서 이미지 url을 이용해 이미지를 띄울 거기 때문에, 공개 엑세스 방지 적용 체크를 해지해주었습니다. 위 과정이 끝나면 버킷이 만들어집니다. 서비스 계정 만들기 다음으로는 Cloud Storage를 Django에서 접근할 수 있도록 서비스 계정을 만들고 키 값을 발.. 2021. 8. 8.