글 전체(33)
-
[Django] Channels 사용하기 - 2
이 글은 [Django] Channels 사용하기 - 1에서 이어집니다. room view 추가 특정 채팅방에서 게시된 메세지를 볼 수 있는 room view를 추가하도록 하자. chat/templates/chat/room.html파일을 추가하자. chat/ __init__.py templates/ chat/ index.html room.html urls.py views.py 그리고 해당 파일에 다음과 같이 작성하자. {{ room_name|json_script:"room-name" }} 이제 view에서 room.html 파일을 찾아갈 수 있게 작성해 주자. # chat/views.py from django.shortcuts import render def index(request): return re..
2022.10.18 -
[Django] Channels 사용하기 - 1
Django의 Chaanels는 Django에서 웹 소켓을 사용할 수 있게 해주는 라이브러리이다. Channels는 django에서 HTTP이외의 웹 소켓이나, IoT 프로토콜과 같은 다양한 프로토콜을 지원하기 위해 만들어졌다. Channels는 비동기 형식으로 django를 래핑하여 작동한다. ASGI 기반으로 개발 되었다. 하기 내용은 Channels 공식 문서를 참조하여 작성하는 글이다. 설치 $ python3 -m pip install -U channels 참고로 필자는 위의 방법으로 설치 시 에러가 나서 아래와 같이 설치했다. $ pip install channels 설치가 완료되면 다음과 같이 확인해 보자. $ python3 -c 'import channels; print(channels.__..
2022.10.17 -
[Django] connection.queries always empty
django에서 작성한 orm이 어떤 식으로 쿼리가 날아가는 지 확인하기 위해 raw 쿼리를 찍어보려고 했는데 connection.queries를 해도 계속 [] 라는 빈 값이 나왔다. 어떠한 짓을 해도 쿼리의 개수가 0이었기 때문에 무엇이 문제인지 구글링을 하던 도중 여기서 해답을 찾을 수 있었다. 나는 django-extention을 사용하여 shell-plus를 쓰고 있는데, 쉘 플러스는 쿼리가 평가될 때 raw쿼리를 찍어서 보여주기 때문에 이 친구가 connection을 잡고 있는 것 같았다. 즉, 이미 shell-plus가 쿼리를 다 확인했기 때문에 내가 찍었을 때는 없는 것이었다...라고 생각이 든다.
2022.10.13 -
[Django] DRF란?
DRF란? Django REST Framework의 약자로 django에서 RESTful API를 쉽게 만들 수 있도록 도와주는 오픈소스 라이브러리 Multi Platform 시대에 맞게 오픈 API 형태로 제공하거나, 협업하는 프론트 개발자가 쉽게 데이터를 주고받을 수 있게 직렬화 및 역직렬화 진행 REST란? REpresentational State Transfer의 약자로 자원을 URL에 표현하여 자원의 상태 및 정보를 주고 받는 모든 것을 의미 예를 들어, 음식 데이터가 DB에 저장되어 있을 때, /api/foods라는 형태로 URL을 제공하여 해당 URL로 요청을 보내면 음식 데이터(자원)를 전송해 준다. 즉, Django에서 RESTful한 API 서버를 구축하기 위해 필요한 것들을 구현해 놓..
2022.10.12 -
[Docker] Image & Container 세부 정보 출력하기
이미지 세부 정보 출력하기 $ docker image inspect 컨테이너 세부 정보 출력하기 $ docker container inspect inspect 명령어로 image & container 세부 정보 출력하기 $ docker inspect 이 명령어로 이미지든 컨테이너든 세부 정보를 볼 수 있다. 출력되는 형식은 json 형식으로 출력된다. 해당 컨테이너가 어떤 설정 파일로 빌드가 되었는지를 확인하려면 Config의 Labels에서 com.docker.compose.project.config_files 부분을 보면 된다. :)
2022.08.22 -
[Python] static method와 class method
Static Method와 Class method 공통점 인스턴스를 만들지 않아도 class의 메서드를 바로 실행할 수 있다. class hello: num = 10 @staticmethod def calc(x): return x+10 print(hello.calc(10)) # 결과: 20 class hello: num = 10 @classmethod def calc(cls, x): return x+10 print(hello.calc(10)) # 결과: 20 둘 다 객체를 생성하지 않고 바로 메서드를 호출했다. 차이점 Static Method 만약 hello 클래스의 num 속성에 접근하려면 어떻게 어떻게 해야할까? 객체로 접근하는 것이 아니기 때문에 self.num을 사용할 순 없다. 억지로 사용하고 ..
2022.08.17