djangorestframework

Django에선 편하게 restframework-simplejwt를 이용해서 jwt 인증을 구현할 수 있다. jwt에 필요한 기능은 아래와 같다. 로그인 토큰 유효성 검사 로그아웃 또한 우리는 Blacklist 를 포함해서 구현할 것이다. 설정 먼저 라이브러리를 설치한다. poetry를 사용하는 경우엔 poetry add를 하면 된다. pip install djangorestframework-simplejwt settings.py에 아래와 같이 추가한다. 라이브러리의 앱과 JWT 사용 옵션, 인증 클래스를 추가한다. INSTALLED_APPS = [ "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", "django.c..
스키마를 만들다 보면 중복되는 필드가 많은 부분이 생기기 마련이다. 이런 스키마들은 보통 공통의 스키마를 만들고 상속 받아서 사용하곤 한다. 장고에서 추상 모델을 만들고 상속해서 만드는 방법은 아래와 같다. 추상 모델 추상화 하고자 하는 모델의 메타 클래스에 아래와 같이 abstract = True 옵션을 추가하면 해당 모델은 추상 모델이 된다. class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True class ..
Create와 Perform_Create 코드로 보기 장고의 ViewSet은 기본적으로 GenericAPIView라는 클래스를 상속 받기 때문에 'list', 'create', 'retrieve'와 'update', 'destory' 메소드를 자동으로 생성해준다. 여기서 create는 RestAPI의 post 메소드와 매칭되어 생성되는데 코드로 보면 아래와 같다. def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) self.perform_create(serializer) headers = self.get_succ..
http -a admin:password123 POST http://127.0.0.1:8000/snippets/ code="print(789)" { "id": 1, "owner": "admin", "title": "foo", "code": "print(789)", "linenos": false, "language": "python", "style": "friendly" } Snippet 모델 추가 작성 모델에 내용 추가 models.py의 Snippet 모델에 작성 User와 연결할 uwner ForeignKey와 하이라이트 추가 owner = models.ForeignKey('auth.User', related_name='snippets', on_delete=models.CASCADE) highligh..
환경 설정 pygments 설치 snippets 앱 만들기 pip install pygments # We'll be using this for the code highlighting cd tutorial python manage.py startapp snippets settings.py의 INSTALLED_APPS에 snippets 추가 INSTALLED_APPS = [ ... 'rest_framework', 'snippets', ] Serializer 작성 모델 적용 모델 작성 Snippet 모델 작성 from django.db import models from pygments.lexers import get_all_lexers from pygments.styles import get_all_style..
해당 글은 장고 퀵스타트 를 참고한 글입니다. 프로젝트 초기화 프로젝트 생성 폴더 생성 가상 환경 생성 장고, 장고레스트프레임워크 설치 프로젝트 생성 앱 생성 # Create the project directory mkdir tutorial cd tutorial # Create a virtual environment to isolate our package dependencies locally python3 -m venv env source env/bin/activate # On Windows use `env\Scripts\activate` # Install Django and Django REST framework into the virtual environment pip install django p..
Say simple
'djangorestframework' 태그의 글 목록