목록Programming/Django (18)
남기면 좋잖아
django channels 라이브러리는 장고의 소켓통신을 위한 대표적인 라이브러리 입니다. 장고의 기본적인 데이터흐름과 굉장히 비슷해 학습하는데 큰 어려움은 없습니다. 하지만 저처럼 웹소켓을 처음 다뤄보는 초보자의 경우 몇몇 부분은 이해하기 힘든 부분이 있었습니다. 그 중 consumer 부분은 가장 핵심적이면서도 이해하기 힘든 부분중 하나인데, 크게 4가지 메소드를 사용합니다. connect() receive() disconnect() group_send()와 type 메소드 이 4가지 메소드에 통해 자바스크립트와 장고 사이의 소켓통신 데이터 흐름을 다뤄보려 합니다. connect() connect() 메소드는 자바스크립트에서 웹소켓 생성시 django에서 처음으로 응답받는 메소드입니다. const ..
DRF-React Study Chapter 8. 장고 DRF를 활용한 웹 API 만들기 Token 인증 적용하기 DRF에서 지원하는 인증 Session 웹 프론트와 장고가 같은 호스트라면 사용가능 외부에선 못씀 Basic 외부에서 매번 user/password를 넘기는건 보안상 위험 Token 초기에 user/password로 token을 발급받고 이 토큰을 매 API요청에 담아서 보내어 인증을 처리 Token 모델 유저 모델과 1:1관계 각 유저별로 token은 수동으로 생성해줘야함 토큰만으로 인증을 수행 Token 생성 방법1 ObtainAuthToken 뷰를 통한 획득 및 생성 URL Pattern 매핑 필요 방법2 Signal을 통한 자동생성 방법3 Management 명령을 통한 생성 JWT 인..
DRF-React Study Chapter 8. 장고 DRF를 활용한 웹 API 만들기 Renderer를 통한 다양한 응답 포맷 지원 Renderer 같은 Endpoint에서 요청받은 타입에 맞춰, 다양한 응답 포맷을 지원 Content-Type, URL의 방법을 통해 Renderer 지정 가능 기본 지원 Renderer JSONRenderer : json.dumps를 통한 JSON 직렬화 디폴트 media_type : application/json format : json BrowsableAPIRenderer : self-document HTML 렌더링 디폴트 media_type : text/html format : api TemplateHTMLRenderer : 지정 템플릿을 통한 렌더링 media_..
DRF-React Study Chapter 8. 장고 DRF를 활용한 웹 API 만들기 mixins 상속을 통한 APIView DRF에서 지원하는 mixins CreateModelMixin ListModelMixin RetrieveModelMixin UpdateModelMixin DestroyModelMixin 다양한 View의 구현 방법 중복을 줄이기 상황에 맞춰 다양한 방법으로 View를 구현 생산성 극대화 ViewSet과 Router 단일 리소스에서 관련있는 View들을 단일 클래스에서 제공 2개의 URL이 필요 Post 리소스에 대한 2개의 URL ModelViewSet viewsets.ReadOnlyModelViewSet list 지원 : 1개의 URL detail 지원 : 1개의 URL vie..
DRF-React Study Chapter 8. 장고 DRF를 활용한 웹 API 만들기 API 서버와 REST API 서버 앱/웹 서비스를 만드는 개발자들이 이용하는 데이터 위주의 서비스 시간이 지나도 호환성을 유지해야 함 앱 등의 유저가 사용하는 UI는 유저가 원할 때 업데이트가 됨 유저층이 사용하는 앱의 버전이 다양하기에 API에도 버전 개념을 둠 /api/v1/posts, /api/v2/posts 그에 반해, 웹 서비스를 이용하는 유저는 항상 최신버전을 사용 REST(Representational State Transfer) 아키텍처 스타일. 프로토콜에 독립적 -> 일반적인 REST 구현에서 HTTP를 사용 RESTful API의 몇가지 디자인 원칙 리소스를 중심으로 디자인 클라이언트에서 엑세스할 ..
DRF-React Study Chapter 7. 비SPA 방식으로 인스타그램 St 만들기 Overview 만들 내용 회원가입 로그인 프로필 수정 및 암호 수정 포스팅 쓰기 구현 (사진 및 caption, 다수 태그, location 등록) 이미지 필터는 리액터 챕터에서 유저 페이지 구현 타임라인 Follow 구현, Following 하는 유저들의 포스팅 목록 모든 것을 SPA로 구현하려 하지말자 한정된 시간과 리소스 인스타그램 St. 만들기 웹 프론트엔드 기본 기술 HTML/CSS/JavaScript jQuery 프론트엔드의 호환성 유틸리티 라이브러리. 서버와의 Ajax요청과 간단한 DOM 처리를 위해 사용 Bootstrap4 GIT : https://github.com/Dokeey/drf-react
DRF-React Study Chapter 6. 장고 기본 인증 구현하기 로그인 처리 장고 기본 제공기능 사용하기 from django.contrib.auth.views import LoginView from django.urls import path urlpatterns = [ path('login/', LoginView.as_view(template_name='accounts/login_form.html'), name='login'), ] ```사용자 프로필 페이지 및 프로필 수정 accounts/views.py from django.contrib.auth.decorators import login_required from django.contrib.auth..
DRF-React Study Chapter 5. 장고 Forms Messages Framework Messages Framework 현재 User를 위한 1회성 메세지 HttpRequest 인스턴스를 통해 메시지를 남김 View 에서만 사용 가능 JS로도 사용가능 레벨 DEBUG INFO SUCCESS WARNING ERROR 출력 tags 변경하기 settings.py from django.contrib.messages import constants MESSAGE_TAGS = { constants.DEBUG: 'secondary', constants.ERROR: 'danger', } Messages 소모하기 layout.html {% if messages %} {% for ..