반응형

Django 7

Django 응용하기 - Authorization Decorator 만들고 활용하기

안녕하세요. 지난 포스트에서는 Python에서 Authentication&Authorization(인증&인가) 하는 내용을 기재했습니다. 사실 Django 보다는 Python 내용에 가까웠지만 이 포스트가 중요하고 연계성이 있기 때문에 Django로 카테고리를 분류 했습니다. 웹 사이트를 이용할 때, 여러 기능이 있는데 우리는 이 기능을 매번 로그인 하지 않고 사용합니다. 이것은 지난 포스트에서도 말씀 드린 것 처럼 Front-end에서 Local Storage 또는 Session Storage를 이용해 Header에 access token을 달고 request를 보내기 때문입니다. 그리고 이 반복적인 인가 확인을 위해 Decorator를 구현해 인가가 필요한 API function 마다 적용합니다. 1..

Dev/Django 2020.07.19

Django 응용하기 Authentication & Authorization(인증&인가 - Bcrypt와 JWT)

지난 포스트에서는 Django의 기본으로 MTV model과 자주 사용되는 파일인 models.py, urls.py, views.py에 대해서 학습하였습니다. 이번 포스트에서는 이를 조금 더 응용한 Authentication & Authorization(인증&인가)에 대해서 하나씩 확인해보겠습니다. 인증과 인가의 개념이 약간 햇갈릴 수 있는데 인증(Authentication)은 로그인하는 User의 identification을 확인 하는 것 이고, 인가(Authorization)는 다른 말로는 권한부여, 즉 로그인한 유저에게 특정 권한을 가하는 것입니다. 그 다음 Django에서 Header 값을 받아와 인가된 유저를 확인하는 Decorator를 구현해보겠습니다. 1. Authentication(인증) ..

Dev/Django 2020.07.19

Django 이해하기 Part3. 많이 사용하는 파일(views.py)

바로 이어서 views.py에 대해서 작성하겠습니다. 3. Views.py 마지막으로 views.py 입니다. 사실상 가장 많이 사용하는 파일로서 너무나도 중요합니다. 활용도도 다양하기 때문에 저는 기초적 사용만 다루고 역할을 정의 하겠습니다. views 파일은 앞에서 보았던 url과 models의 개념도 다시 사용됩니다. urls.py에서 url Pattern에 따라 이 view 파일의 함수를 불러오고, models.py에서 정의 했던 class들이 import 되어 이 데이터를 다룹니다. 그리고 이 컨트롤 된 데이터를 통해 JsonResponse 또는 HttpResponse 형태를 return 해줍니다. 개인적으로 생각하기에 views.py에서 가장 많이 익숙해지고 다뤄봐야할 내용은 Models에서도..

Dev/Django 2020.07.12

Django 이해하기 Part2. 많이 사용하는 파일(urls.py, models.py)

지난번 Django의 MTV를 다루는 내용의 포스트에서 많이 사용되는 파일인 urls.py, models.py, views.py를 다루는 포스트를 작성한다 하였습니다. 각 파일의 실제적 사용을 다뤄보겠습니다. 들어가기 전에 예시로 사용되는 Django Project 구조를 안내드립니다. westagram이라는(인스타그램의 일부 기능 구현) Django Project를 생성하였습니다. 그리고 Django App으로 posts와 users가 있습니다. 1. urls.py 먼저 urls.py 입니다. 처음 Django Project를 생성하면 프로젝트 directory 안에 urls.py 파일이 같이 생성됩니다. 이 urls.py는 주로 '/'로 구분되어 url을 연결하는데 사용됩니다. 이렇게 구성하면 End..

Dev/Django 2020.07.12

Django 이해하기 Part1. MTV Pattern

안녕하세요. 이번 포스트에서는 Django를 학습하고 이해한 내용을 작성 해보겠습니다. Django 자체의 개괄적인 내용보다는 실제로 다룰 수 있는 형태를 기록하겠습니다. 지난 번 TIL 포스트에서는 Django의 MTV(MVC) 패턴에 대해서 서술하였습니다. 이번에도 Django(장고)에 대한 설명과 함께 MTV 구조를 더 자세히 얘기 해보겠습니다. 1. Django란? 간단하게 요약하면 python으로 이뤄진 웹 어플리케이션 프레임워크(Web Application Frame work) 입니다. python으로 웹 어플리케이션을 다룰 수 있는 프로그램을 직접 개발할 수도 있지만, 웹 개발시 사용할 수 있는 기능을 모아둔 Django를 활용한다면 시간이 훨씬 줄어들 것입니다. 비유하자면, 어떤 집을 짓는..

Dev/Django 2020.07.11

TIL(20.06.16) - blog project 마무리

Pre bootcamp로 blog Project를 1차적으로 마무리 했습니다. 매끄러운 순서는 아니지만 수정사항과 추가된 기능에 대한 서술을 하겠습니다. 1. 수정사항(Back-end) 지난번 아키텍처를 일부 수정하였습니다. 수정 내용은 아래와 같습니다. - kakao Authorization을 통한 로그인 구현 - AWS ec2 서버에 Front-end(React)와 Back-end(Django) 서비스 구동 2. 스키마 구조 단순하지만, 스키마 구조는 다음과 같습니다. 글(post)을 관리하는 테이블인 'apis_posts'와 User를 관리하는 테이블인 'apis_users'가 있습니다. 그리고 users의 id는 posts의 UserID의 참조키(Foreign Key)가 됩니다. 3. 화면 안내 ..

TIL 2020.06.17

TIL(20.05.30) - Django MVC 패턴

Django의 MVC 패턴 MVC는 Model, View, Controller의 약자로 소프트웨어를 개발하는 주요 방법론 중 하나이다. 첫 번째로 Model은 간단하게 정리하면 Data이다. 보여주고자 하는 대상으로 특정 상품 리스트 페이지인 경우 상품과 관련된 데이터 자체이다. 두 번째로 View는 보여주는 것 이다. 구체적으로 얘기하면 HTML과 같이 어떠한 패턴으로 보여주는지를 의미한다. 마지막으로 Controller는 Model과 View를 컨트롤 하는 역할을 한다. View를 본 Client가 특정 요청을 하면 Controller는 그에 대응해서 처리하고 Client가 요청한 Model을 보여주는 것이다. 학습하는 교재에 url Contorll에 대해 아주 기초적으로 다루는 부분이 있다. 이것을..

TIL 2020.05.30
반응형