Django2 [Django Channels] api가 호출될 때마다 소켓에 broadcasting하기 필자가 몇개월 전에 진행한 프로젝트가 있다. 웹 어플리케이션으로 보드게임을 구축하는 프로젝트였다. Django Rest Framework(DRF)로 게임 진행에 필요한 api를 우선 짜둔 상태였고, 멀티플레이가 가능해야 했기 때문에 소켓을 사용해보기로 했던 기억이 난다. 하지만 소켓을 사용하는 방식이 좀 괴랄했다. api 호출은 http 프로토콜로 이루어지는데, 이 api 호출에 대한 응답을 실시간으로 양쪽 플레이어가 전송받아야 양 플레이어의 화면에 반영이 되기 때문에, 소켓 프로토콜로도 api 호출에 대한 응답이 전송되어야 한다. 우리는 이 과정을 클라이언트가 직접 클라이언트 측 소켓에서 api를 요청하면 해당 소켓으로 api 응답을 전송해주는 방식으로 구현해버리고 만다(....) 클라이언트 측 소켓에.. 2024. 2. 8. [Django/Nginx] swagger 설정 삽질하기 gunicorn으로 wsgi 처리를 해주고 nginx로 서버를 켜보니 http://서버주소/swagger/로 접근할 때 not found (404) 에러가 떴다. swagger는 기본적으로 ui를 로딩할 때 정적 파일을 사용하게 되어있다. 그러나 이 정적 파일의 주소를 몰라 헤메고 있던 와중에 django는 정적 파일을 한 군데로 모아주는 명령어를 지원한 다는 것을 알게 되었다. 물론 명령어를 사용하기 전에 settings.py에서 정적 파일을 모아둘 경로를 지정해놓아야 한다. # settings.py import os # .. 생략 STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') # .. 생략 그리고 명령어를 실행한다 $ p.. 2024. 1. 14. 이전 1 다음