본문 바로가기

분류 전체보기

(79)
[프로젝트] gunicorn, nginx 사실 우리의 Django는 ‘웹서버’가 아니고 정확하게 말하면 Web Application이며 Nginx가 웹 서버이고, 이 둘 사이를 연결해주는 매개체가 WSGI에 해당하는 Gunicorn이라고 한다.Web Server WSGI Web ApplicationNginx Gunicorn Django Web Application?식당으로 따지면 요리사요청에 따라서 다양한 요청을 직접 처리해서 동적인 응답을 만들어내는 주체WSGI(Web Server Gateway Interface)식당으로 따지면 서빙 직원HTTP와 Python으로 동작하는 Django간의 연결을 담당하는 인터페이스HTTP로 들어오는 네트워크 신호를 Python Application으로 변환해서 전달해주는 역할을 한다. HTTP 네트워크..
[프로젝트] s3 경로 설정 # S3 settingINSTALLED_APPS += ['storages']AWS_ACCESS_KEY_ID = AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY = AWS_SECRET_ACCESS_KEYAWS_STORAGE_BUCKET_NAME = AWS_STORAGE_BUCKET_NAMEAWS_S3_REGION_NAME = AWS_S3_REGION_NAMEAWS_QUERYSTRING_AUTH = FalseDEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'settings.py 에서 s3 셋팅을 끝내고 s3에서 이미지를 가져오려고 한다.관리자가 올리는 데이터를 위의 이미지의 경로에 저장하고 프론트에서 url처리를 해줘야 ..
[프로젝트] 배포 준비 프로젝트가 아직 완성되지 않았지만 배포를 테스트 해보기 위해서 배포를 준비하기로 했다.배포는 AWS ec2를 사용할 예정이며 배포를 하기 전에 현재 DB를 SQLite에서 postgresql로 바꾸려고 한다.postgresql을 다운받고 dbeaver에 연결을 해줘야 하지만 아직 ec2에 postgresql을 설치하지 않아서 일단 두기로 했다.# settings.pyDATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': BASE_DIR / 'db.sqlite3', # } 'default': db_default_dic}기존의 sqlite3를 쓰던 걸 db_default_dic이..
[프로젝트] 목록별로 카테고리 적용하기 navbar를 위와 같은 이미지로 만들어서 목록별로 정렬을 할 수 있도록 만드려고 한다.class LiquorListView(ListCreateAPIView): # 인증된 회원(회원or관리자)만 가능 or 누구나 이용 가능 permission_classes = [IsAuthenticatedOrReadOnly] # 주류 목록 조회 serializer_class = LiquorListSerializer pagination_class = RecordPagination def get_queryset(self): liquor = Liquor.objects.all() # classification 필터링 추가 classification = sel..
[프로젝트] 커서 페이지네이션 백엔드 서버에서 커서 페이지네이션을 구현해서 프론트에서도 페이지네이션 기능을 적용하려고 한다.class RecordPagination(pagination.CursorPagination): page_size = 10 ordering = "-created_at" cursor_query_param = "cursor" def get_paginated_response(self, data): return Response( { "meta": {"code": 200, "message": "OK"}, "data": { "next": self.get_next_link(), ..
[프로젝트] API key를 숨기기 위한 처리 지금까지 작업했던 결과물을 github repository에 올리기 위하여 api key를 숨기는 작업을 했다.구상은 config.js 라는 파일을 만들어 api key를 담고 .gitignore에 config.js를 등록하여 형상관리에서 제외시킬 생각이다. function loadKakaoMapSDK() { const script = document.createElement("script"); script.src = `//dapi.kakao.com/v2/maps/sdk.js?appkey=${config.apikey}&libraries=services`; document.head.appendChild(script..
[프로젝트] 카카오 지도 API로 주변 주류 매장 출력 저번에 문제에 대한 이야기를 먼저 해보면 lib를 추가하지 않았다.이거 안넣어서 안된다고 이야기 하고 있으니 문제가 해결이 될리가 있나.API 주소에 보내는 요청은 로그인한 유저의 address를 받기만 하는 간단한 view이다.class UserAddressAPIView(APIView): permission_classes = [IsAuthenticated] def get(self, request): user = request.user if user.address: return Response({"address": user.address}) else: return Response({ "mes..
[프로젝트] 카카오 지도 api 구현 중 Nearby Liquor Stores 지도 api를 가져와서 주변 주류매장을 찾는 기능을 구현하려고 하는데 무슨 문제인지 모르겠다.좀 더 해결방법을 찾아야하는데 프론트는 너무 어려운 것 같다.