DRF를 통해 프로젝트 진행 중 JWT를 발급해야 할 상황이 생겼다. 토이 프로젝트이고 돈도 없다보니 데이터베이스를 AWS MySQL 프리티어로 사용하고 있는데, 아무래도 이게 성능도 안좋고 느리다보니 세션을 통해 인증과 인가를 하게 되면 매번 데이터베이스를 때리기 때문에 좋지 않다고 판단했다. DRF JWT 키워드로 서치를 많이 해봤는데, 대부분은 djangorestframework-jwt나 django-rest-authtoken 라이브러리를 사용하는 것 같았다. 처음엔 나 역시 이것들을 사용하려고 했는데, 2가지 이유로 그만뒀다. 첫 번째는, 토큰의 만료시간을 제외하곤 커스터마이징하기가 쉽지 않아보였다. 우선, 위 라이브러리들은 기본적으로 username과 password를 입력 받아 토큰을 생성해준..
프레임워크/Django
이전 글과 이어지는 글입니다. seongonion.tistory.com/61?category=833472 [Django] Word Count 만들기 - 1 이전 글과 이어지는 글입니다. seongonion.tistory.com/59?category=0 [Django] Hello World 페이지 만들기 이전 글과 이어지는 글입니다. seongonion.tistory.com/58 [Django] django 프로젝트 및 앱 폴더 생성.. seongonion.tistory.com 지금까지 wordcount 페이지에서 form 태그로 값을 입력받고, 해당 값을 result 페이지로 옮겨가는 과정까지 완료했다. 이번에는 form 태그로 입력받은 값을 result 페이지에 옮겨갈 뿐 아니라 직접 '띄워주는 것'도..
이전 글과 이어지는 글입니다. seongonion.tistory.com/59?category=0 [Django] Hello World 페이지 만들기 이전 글과 이어지는 글입니다. seongonion.tistory.com/58 [Django] django 프로젝트 및 앱 폴더 생성 이전 글과 이어지는 글입니다. seongonion.tistory.com/57 [Django] Django란? - Django 설치 및 가상환경 설.. seongonion.tistory.com Django에서 특정 url을 탔을 때, 연결된 HTML을 띄워주는 방법을 이전 글에서 다루었다. 이번엔 동일한 로직을 응용해서 텍스트로 입력 받은 내용에 대해 각 단어들의 숫자를 출력해주는 페이지를 만들어보고자 한다. 이 페이지를 만들기 ..
Django를 통해 만들어진 웹 어플리케이션은 정보들의 티키타카를 통해서 클라이언트의 요청(request)를 수행해준다. 사실, Django뿐만 아니라 대다수의 웹 프레임워크들이 각기 연결된 다른 파일들에서 티키타카를 하며 우리의 웹 페이지를 화면에 띄워준다. 따라서, 그러한 작업들이 어떤 과정을 거쳐 발생하는 것인지 제대로 이해한다면 우리는 다른 프레임워크를 배우는 데 있어서도 큰 무리없이 그 흐름을 따라갈 수 있다. Django의 MTV 패턴 Django는 MTV 패턴을 활용해 웹 어플리케이션을 구동시킨다. 여기서 MTV는 각각 Model, Template, View를 뜻하는데 앞서 올린 Django관련 글들을 읽어보면 Template와 View가 어떤 일을 하는지 대충 감이 올 것이다. Templa..
이전 글과 이어지는 글입니다. seongonion.tistory.com/58 [Django] django 프로젝트 및 앱 폴더 생성 이전 글과 이어지는 글입니다. seongonion.tistory.com/57 [Django] Django란? - Django 설치 및 가상환경 설정 Django란? Django는 파이썬을 기반으로 한 오픈소스 웹 애플리케이션 프레임워크이다. 오픈소스는.. seongonion.tistory.com 우리가 django를 가지고 결국에 만들고자 하는 것은 웹 애플리케이션이다. 즉, HTML 파일을 띄워주는 것이 우리의 최종적 목표인데, 이를 위해 가장 기본적인 Hello World를 띄워주는 페이지를 만들어보고자 한다. 우선, 우리가 이전에 만들었던 myapp 폴더 안에 'tem..
이전 글과 이어지는 글입니다. seongonion.tistory.com/57 [Django] Django란? - Django 설치 및 가상환경 설정 Django란? Django는 파이썬을 기반으로 한 오픈소스 웹 애플리케이션 프레임워크이다. 오픈소스는 쉽게 말해 *무료*라는 뜻이고, 관련 정보들이 사이트에 오픈되어 있어 궁금한 점이 있다면 언제든 seongonion.tistory.com 프로젝트 폴더 생성 가상환경을 켜고 Django까지 설치를 완료했다면, 이제 직접 프로젝트를 만들어보자. Django에서 프로젝트를 생성하는 명령어는 django-admin startproject myproject 로, 역시나 터미널에 작성해주고 엔터쳐주면 된다. (가상환경을 반드시 켜준 상태에서 진행해줘야한다) 앞서 가..
Django란? Django는 파이썬을 기반으로 한 오픈소스 웹 애플리케이션 프레임워크이다. 오픈소스는 쉽게 말해 *무료*라는 뜻이고, 관련 정보들이 사이트에 오픈되어 있어 궁금한 점이 있다면 언제든 참조할 수있음을 의미한다. '프레임워크'란, 우리가 웹 서비스를 만드는 과정에서 편의성을 제공하기 위해 만들어진 일종의 작업장이라고 이해할 수 있겠다. 우리가 매일같이 사용하는 웹 페이지들엔 다양한 기능들이 포함되어 있다. 회원가입과 로그인, 로그아웃 기능, 블로그로 치면 글을 올리거나 수정, 삭제하는 기능 등이 그 예시이다. 그런데 이제 막 개발 공부를 시작한 사람이 이러한 기능들을 모두 갖춘 웹 사이트를 시작부터 끝까지 모두 스스로 만드려면 알아야할 것들이 너무나도 많다. 말 그대로 건물을 짓는데 흙을 ..