👩‍💻 개발/⚙️ BACKEND

    [Django] dj-rest-auth Custom

    후딱 개발하고자 필자는 dj-rest-auth를 사용하였다! 필요한 필드를 추가 및 제거하기 위해 필자는 custom을 해줬다! 1. Register 필드 추가 회원 가입 시 필드를 추가해 줘야 했다. (필수 필드) # api/serializers.py class RegisterCustomSerializer(RegisterSerializer): # 기본 설정 필드: username, password, email # 추가 설정 필드: team, part team = serializers.CharField() part = serializers.CharField() def get_cleaned_data(self): data = super().get_cleaned_data() data['team'] = self..

    [Django] DRF JWT 회원가입, 로그인 기능/ dj-rest-auth

    [Django] DRF JWT 회원가입, 로그인 기능/ dj-rest-auth

    Simple-jwt로 회원가입 기능을 직접 구현할 수 있지만 필자는 빠르고 신속하게 구현하기 위해 dj-rest-auth를 사용하여 구현했다. 간단한 커스텀은 이후 포스팅에 기록할 예정! 또한 장고 설치 및 구성은 패스하고 dj-rest-auth 관한 내용만 정리하겠다. setting.py 추가 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # my-app 'api', # third party 'rest_framework', # a..

    [Django] DRF Method Override 방법

    [Django] DRF Method Override 방법

    세부적인 컨트롤을 위해서는 Override 하여 나에 맞게 수정해주는 작업이 필요하다. 필자는 ModelViewSet을 사용했기 때문에 이를 예시로 들어보고자 한다! * ModelViewSet 은 GET, POST가 아닌 아래와 같은 action을 제공함 .list() = GET , all .retrieve() = POST .create() = GET , one .update() = PUT .partial_update() = PUT .destroy() =DELETE 기본 ModelViewSet은 아래와 같다. class UserViewSet(viewsets.ModelViewSet): serializer_class = UserSerializer queryset = User.objects.all() 위의 a..

    [Django] ViewSet , Router

    [Django] ViewSet , Router

    Django 공식문서 일반적으로 REST API를 구현할 때 ListAPI 와 DetailAPI 을 구현한다. 이때 List API는 GET, POST 메서드를 구현하며 Detail API는 GET, PUT, DELETE메서드를 구현한다. DRF의 ViewSet은 2개의 URL별로 구현된 5개의 메서드를 단 하나의 클래스에 제공하며 다시 말해 하나의 헬퍼 클래스로 두 개 이상의 URL처리를 가능하게 해 준다. ViewSet은 일반적이 api와 달리 get(), post()와 같은 메서드 핸들러는 제공하지 않으나 list(), create()와 같은 액션을 제공한다. (단, 똑같이 Get, Post로 요청을 보내줘야 함.) class UserViewSet(viewsets.ViewSet): def list(..

    [Django] admin 계정 생성

    [Django] admin 계정 생성

    api까지 잘 만들고 난 뒤 admin 페이지를 들어가 봤더니 아무것도 없어서 당황한 김에 정리해보는 글 1. 슈퍼 유저 생성 - admin 페이지를 접속할 수 있는 계정 python manage.py createsuperuser 사용자 이름 , 이메일, 비밀번호를 순차적으로 입력해주면 계정이 생성된다. -1) 비밀번호 초기화 python manage.py changepassword admin 2. 로컬 서버 실행 및 접속 python manage.py runserver http://127.0.0.1:8000/admin/ : 으로 접속 3.admin 페이지에 모델 등록 #admin.py from django.contrib import admin from api.models import * # Regist..