REST(10)
-
Django REST Framework의 Filter Backends 사용하기
Intro Filtering은 데이터의 목록을 조회하는 GET 요청에 있어 거의 필수적인 요소입니다. 기술적으로 어려운 부분은 없다고 판단되지만 직접 구현한다고 했을 때, 상당히 번거로울 수 있습니다. Django REST Framework(이하 DRF)에서는 ViewSet과 연동하여 쉽고 빠르게 적용할 수 있는 Filter Backends라는 도구를 제공합니다. 이 도구를 활용하면 완성된 ViewSet에 필터링을 적용하는데 채 5분도 걸리지 않습니다. Prerequisite Filtering을 지원해주는 DjangoFilterBackend를 사용하기 위해서는 새로운 패키지를 설치해야 합니다. (venv) $ pip3 install django-filter 이 패키지를 설치하고 DRF에서 Filterin..
2018.05.16 -
Django Admin에서 Form 저장 커스터마이징하기
Django Admin에서 기본적으로 제공하는 Form을 통해 언제든지 Model Instance를 생성할 수 있습니다. TextField같은 경우 기본적으로 Form에서는 Text Area로 등장하는데 좀 더 다양한 입력을 위해서는 WISYWIG 에디터를 적용해야 합니다. Summer Note는 가볍고 Django에 적용하기 쉬운 에디터 중 하나입니다. Summer Note를 적용하고 Form의 save 버튼을 눌렀을 때 있는 그대로 데이터베이스에 저장되지만 때때로 다른 처리가 필요할 수 있습니다. 예를 들면, 서버의 Local에 이미지를 저장하는 것이 아니라 클라우드 서비스에 저장한다던지 같은 예외적인 처리들이 필요할 수 있습니다. 이런 경우에는 Django Admin에서 Form을 전송하여 Mode..
2018.05.15 -
Django Admin에서 Summer Note 에디터 사용하기
Summer Note는 Django에서 사용할 수 있는 굉장히 가볍지만 강력한 WISYWIG 에디터입니다. Summer Note를 사용하기 위해서는 패키지를 설치하고 몇 가지 설정만 해주면 됩니다. PyCharm의 Project Interpreter 세팅에서 django-summernote를 추가합니다. CLI를 통해 설치할 경우, 아래의 명령어를 입력합니다. $ pip3 install django-summernote 이제 settings.py에 Summer Note를 추가합니다. INSTALLED_APPS = [ ... 'django-summernote', ... ] Summer Note에서 제공하는 File Upload를 사용하기 위해서 파일이 저장되는 경로도 설정해주어야 합니다. settings.p..
2018.05.14 -
ViewSet의 request 객체 파헤치기
ViewSet의 각 메서드에는 모두 Request라는 객체가 인자값으로 포함되어 있습니다. 이것은 사용자가 보낸 요청에 관한 모든 정보를 포함하고 있는 객체입니다. 기본적으로 Request 객체는 Mutable 속성이 False로 설정되어 있습니다. 이것이 의미하는 바는 Request의 값들은 수정이 불가능하다는 것입니다. 먼저 ViewSet으로 전달된 Request 객체에 어떤 값들이 포함되어 있는지 살펴봅니다. 위의 수 많은 요소들 중 자주 사용하게될 속성들을 살펴보면 다음과 같습니다. FILES → HTTP Multi-part Form으로 전송된 파일이 리스트 형태로 들어있습니다. POST → HTTP POST 필드값이 Query Dict 형태로 들어있습니다. user → 요청을 보낸 주체의 Mod..
2018.05.11 -
super()의 create() 메서드에 임의의 POST 데이터 넣기
Django REST Framework는 개발자의 생산성 향상을 위해 내부적으로 다양한 처리들을 제공합니다. POST 필드값들의 유효성 검사부터 Serializer를 통해 Model Instance의 생성 및 삭제까지 모두 기본적으로 제공하고 있습니다. 이것만 봐도 Django REST Framework가 추구하는 방향성을 알 수 있습니다. 바로 뛰어난 생산성이죠. 많은 프로젝트에서 반복적으로 구현해야 하는 기본적인 것들을 모두 제공하고, 필요에 따라 개발자들이 Customizing을 하여 사용할 수 있도록 한 것입니다. 그렇기 때문에 Django REST Framework(이하 DRF)의 장점을 극대화하여 사용하려면 최대한 기본적으로 제공해주는 메서드를 활용하는 것이 좋습니다. 이번에는 REST API..
2018.05.10 -
Django REST Framework를 사용하다 - 3
Django REST Framework를 사용하기 위해서는 몇 가지 사항들을 숙지해야 합니다. 실제로 REST API를 만드는데 필요한 개념들만 검토 후, 빠르게 Django REST Framework(이하 DRF)를 사용하여 REST API를 만들어봅니다. DRF를 사용하기 위해서는 다음의 사항들을 숙지해야 합니다. Django BasicDatabase SettingDjango ORMPython에서의 상속SerializerViewSetsRouters 위의 개념들을 숙지하고 어떻게 사용하는지 알게 되면 DRF를 통해 REST API를 간편하게 만들 수 있습니다. 이번에는 아래의 사항들을 검토합니다. Python에서의 상속SerializerViewSetsRouters Python에서 상속 Python에서는..
2018.05.09