Django values() vs values_list()

Django 에서 values() 와 values_list() 의 차이점 Article.objects.values('comment_id').distinct() 와 Article.objects.values_list('comment_id', flat=True).distinct() 쿼리 결과 values() 메서드는 딕셔너리를 가지고 있는 쿼리셋을 리턴한다 <QuerySet [{'comment_id': 1}, {'comment_id': 2}]> values_list() 메서드는 튜플을 가지고 있는 쿼리셋을 리턴한다 <QuerySet [(1,), (2,)]> values_list()...

더보기

Django Rest Framework - ViewSets

ViewSets After routing has determined which controller to use for a request, your controller is responsible for making sense of the request and producing the appropriate output. “라우팅에서 request에 사용할 컨트롤러를 결정한 후에 컨트롤러는 request를 이해하고 적절한 출력을 생성해야합니다.” Ruby on Rails Documentation Django REST 프레임워크를 사용하면 ViewSet이라고하는 단일 클래스에서 ViewSet에 대한 논리를 ...

더보기

React + CKEditor5 플러그인 사용하기

CKEditor 5 빌드에 대한 이해 CKEditor 5 빌드는 설치하자 마자 사용할 수 있는 상태 즉, ready to use 형태로 빌드 되어 있음 그래서 빠른 시작으로 해보기엔 npm 으로 ckeditor 를 설치만 하면 바로 에디터를 웹에 띄울 수 있었음 그런데 빌드에 포함된 구성으로 일부 플러그인 들과 기본 세팅들이 있지만, 완전한 구성은 아니었음 예를 들면, text 의 색을 바꾸는 하이라이팅 버튼이 없어서 docu 를 참조하면서, highlight plugin 설치 및 import 를 진행했지만, Webpack 에서 svg 를 가져오지 못하여 에러가 발생함. ERROR TypeError : ...

더보기

Django Channles - 03. 채널 레이어 활성화 (Enable a Channel Layer)

채널레이어 채널레이어의 역할 여러 개의 컨슈머들이 서로 간에 커뮤니케이션을 하게 함 여러 개의 컨슈머들이 장고의 다른 부분들과 커뮤니케이션을 하게 함 채널레이어가 제공하는 두 개의 추상화 Channel 채널은 메시지의 목표 지점에 해당하는 메시지박스 역할을 함 채널 이름만 알고 있으면 누구든 해당 채널에 메시지를 보낼 수 있음 Group 채널과 관련된 그룹임 그룹에는 여러 개의 채널들을 추가 또는 삭제 할 수 있음 그룹 이름만 알고 있으면 해당 그룹으로 메시지를 보내게 되는데 그러면 그룹 내의 모든 채널들에게 메시지가 전송...

더보기

Django Channels - 02. 채팅 서버 설정 (Implement Chat Server)

목표 : 양자간 커뮤니케이션 가능한 채팅방 개설 1. chat/templates/chat/room.html 채팅방 view 템플릿 만들기 chat/ __init__.py templates/ chat/ index.html room.html urls.py views.py chat/templates/chat/room.html 파일에 아래의 템플릿 코드 입력 <!-- chat/templates/chat/room.html --> <!DOCTYPE html> <html> <head> &l...

더보기

Django Channels - 01. 기본설정

python3.x 및 django 2.x 의 설치가 되어있다고 간주. 1. mysite 프로젝트 생성 및 chat 어플리케이션 생성 $ django-admin startproject mysite $ python3 manage.py startapp chat 두 명령어를 실행하고 나면 다음과 같은 디렉터리 구조가 생성된다 - mysite/ --- manage.py --- mysite/ ------ __init__.py ------ settings.py ------ urls.py ------ wsgi.py --- chat/ ------ __init__.py ------ admin.py ------ apps.p...

더보기