Django Rest Framework 2.x 튜토리얼 (6)
Requirement
로그인 처리 주위의 구현을 실시한다
로그인을 구현하는 간단한 방법은 이를 위한 라이브러리를 이용하는 것입니다. 서투르게 스스로 실장하려고 하면 프레임워크를 공부하지 않으면 안 되므로, 납기가 짧은 경우 뭔가는 이런 잡한 방법으로 해결하지 않으면 안됩니다.
pip install django-rest-auth
settings.py# ...
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'livesync',
'rest_framework',
'drf_yasg',
'draft_todo.apps.DraftTodoConfig',
'rest_framework.authtoken'
]
#...
urls.py# ...
import rest_auth
# ...
urlpatterns = [
# ...
path('rest-auth', include('rest_auth.urls'))
]
python manage.py migrate
python manage.py runserver
Swagger로 확인해보기
만든 사용자로 로그인해 봅시다.
사용자의 정보를 보자.
작업을 추가해 봅시다.
그건 그렇고, 페이지를 다시로드하면 로그인 정보가 업데이트됩니다.
admin에서 확인해보기
admin에서 Tokens를 확인해 봅시다.
작업이 추가되었는지 확인해 봅시다.
accounts/login 구현
로그인하지 않은 상황에서 작업을 추가하려고하면 어떻게됩니까? LoginRequiredMixin
는 간단한 해결책으로 accounts/login
로 페이지를 전환하려고 합니다.
이것은 rest framework 로서는 매우 기쁘지 않은 사양입니다. 따라서 이것을 덮어 봅시다.
draft_todo/views.py# ...
from rest_framework.decorators import api_view
from rest_framework import status
# ...
@api_view(['GET'])
def not_authorized(request):
return Response(status=status.HTTP_401_UNAUTHORIZED , data='NotAuthenticated')
urls.py# ...
urlpatterns = [
# ...
path('accounts/login/', dview.not_authorized)
]
이것은 Get method 로 accounts/login/
에 액세스가 있으면, 무엇이든 401 코드(너 로그인 할 수 있어요)를 돌려주는 API입니다.
그런데 이 녀석은 지금까지의 API를 쓰는 방법과는 달리, 아무래도 함수같지요. 이것은 Django의 View를 쓰는 방법이 또 하나, 함수 베이스의 정의 방법입니다. 이것이 있기 때문에 장고는 팀 개발을 원하지 않습니다.
@ api_view 는 get 메소드의 함수임을 나타냅니다. 나중에 함수이므로 이해하십시오. 그렇지 않으면 Python에 익숙하지 않을 수 있으므로 다른 언어로 RESTful API를 개발하십시오.
Swagger에서 확인하면 다음과 같습니다.
Next Step?
우선 이것만 움직이면 뒤는 기분으로 해결할 수 있다고 생각합니다.
뭔가 문제가 있으면 저장소의 issue를 설정하십시오.
Tips
인증 주위에는 어떤 종류가 있습니까? 그리고 어느 것이 추천?
Django Rest Framework에는 이 목록에 있는 인증 방법과 django-rest-auth에 있는 것과 같은 Social Authentication(Twitter 인증 등)이 있습니다.
개인적으로는 Session Authentication 가 아무것도 생각하지 않고 손에 익숙해져 있기 때문에 좋아합니다만, 빌어 먹을 자일 개발이라고 하고 있으면 팀의 불종이 되기 때문에, Basic 인증이 편하지 않을까요. 다만 당연히 HTTPS화가 추천이므로, 그 점만 조심할 필요가 있을 것 같네요.
(라고 할까 인증 주위 자체 팀 개발의 화종인 것은…?)
backlog
이 상태의 데이터는이 리포지토리의 release v0.1.6에 있습니다.
리포지토리
목차
Django Rest Framework 2.x 튜토리얼 (0)
Django Rest Framework 2.x 튜토리얼 (1)
Django Rest Framework 2.x 튜토리얼 (2)
Django Rest Framework 2.x 튜토리얼 (3)
Django Rest Framework 2.x 튜토리얼 (4)
Django Rest Framework 2.x 튜토리얼 (5)
Django Rest Framework 2.x 튜토리얼 (6)
Reference
이 문제에 관하여(Django Rest Framework 2.x 튜토리얼 (6)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MeguruMokke/items/7e8d44f69f549f00bd4c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pip install django-rest-auth
# ...
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'livesync',
'rest_framework',
'drf_yasg',
'draft_todo.apps.DraftTodoConfig',
'rest_framework.authtoken'
]
#...
# ...
import rest_auth
# ...
urlpatterns = [
# ...
path('rest-auth', include('rest_auth.urls'))
]
python manage.py migrate
python manage.py runserver
만든 사용자로 로그인해 봅시다.
사용자의 정보를 보자.
작업을 추가해 봅시다.
그건 그렇고, 페이지를 다시로드하면 로그인 정보가 업데이트됩니다.
admin에서 확인해보기
admin에서 Tokens를 확인해 봅시다.
작업이 추가되었는지 확인해 봅시다.
accounts/login 구현
로그인하지 않은 상황에서 작업을 추가하려고하면 어떻게됩니까? LoginRequiredMixin
는 간단한 해결책으로 accounts/login
로 페이지를 전환하려고 합니다.
이것은 rest framework 로서는 매우 기쁘지 않은 사양입니다. 따라서 이것을 덮어 봅시다.
draft_todo/views.py# ...
from rest_framework.decorators import api_view
from rest_framework import status
# ...
@api_view(['GET'])
def not_authorized(request):
return Response(status=status.HTTP_401_UNAUTHORIZED , data='NotAuthenticated')
urls.py# ...
urlpatterns = [
# ...
path('accounts/login/', dview.not_authorized)
]
이것은 Get method 로 accounts/login/
에 액세스가 있으면, 무엇이든 401 코드(너 로그인 할 수 있어요)를 돌려주는 API입니다.
그런데 이 녀석은 지금까지의 API를 쓰는 방법과는 달리, 아무래도 함수같지요. 이것은 Django의 View를 쓰는 방법이 또 하나, 함수 베이스의 정의 방법입니다. 이것이 있기 때문에 장고는 팀 개발을 원하지 않습니다.
@ api_view 는 get 메소드의 함수임을 나타냅니다. 나중에 함수이므로 이해하십시오. 그렇지 않으면 Python에 익숙하지 않을 수 있으므로 다른 언어로 RESTful API를 개발하십시오.
Swagger에서 확인하면 다음과 같습니다.
Next Step?
우선 이것만 움직이면 뒤는 기분으로 해결할 수 있다고 생각합니다.
뭔가 문제가 있으면 저장소의 issue를 설정하십시오.
Tips
인증 주위에는 어떤 종류가 있습니까? 그리고 어느 것이 추천?
Django Rest Framework에는 이 목록에 있는 인증 방법과 django-rest-auth에 있는 것과 같은 Social Authentication(Twitter 인증 등)이 있습니다.
개인적으로는 Session Authentication 가 아무것도 생각하지 않고 손에 익숙해져 있기 때문에 좋아합니다만, 빌어 먹을 자일 개발이라고 하고 있으면 팀의 불종이 되기 때문에, Basic 인증이 편하지 않을까요. 다만 당연히 HTTPS화가 추천이므로, 그 점만 조심할 필요가 있을 것 같네요.
(라고 할까 인증 주위 자체 팀 개발의 화종인 것은…?)
backlog
이 상태의 데이터는이 리포지토리의 release v0.1.6에 있습니다.
리포지토리
목차
Django Rest Framework 2.x 튜토리얼 (0)
Django Rest Framework 2.x 튜토리얼 (1)
Django Rest Framework 2.x 튜토리얼 (2)
Django Rest Framework 2.x 튜토리얼 (3)
Django Rest Framework 2.x 튜토리얼 (4)
Django Rest Framework 2.x 튜토리얼 (5)
Django Rest Framework 2.x 튜토리얼 (6)
Reference
이 문제에 관하여(Django Rest Framework 2.x 튜토리얼 (6)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MeguruMokke/items/7e8d44f69f549f00bd4c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
로그인하지 않은 상황에서 작업을 추가하려고하면 어떻게됩니까?
LoginRequiredMixin
는 간단한 해결책으로 accounts/login
로 페이지를 전환하려고 합니다.이것은 rest framework 로서는 매우 기쁘지 않은 사양입니다. 따라서 이것을 덮어 봅시다.
draft_todo/views.py
# ...
from rest_framework.decorators import api_view
from rest_framework import status
# ...
@api_view(['GET'])
def not_authorized(request):
return Response(status=status.HTTP_401_UNAUTHORIZED , data='NotAuthenticated')
urls.py
# ...
urlpatterns = [
# ...
path('accounts/login/', dview.not_authorized)
]
이것은 Get method 로
accounts/login/
에 액세스가 있으면, 무엇이든 401 코드(너 로그인 할 수 있어요)를 돌려주는 API입니다.그런데 이 녀석은 지금까지의 API를 쓰는 방법과는 달리, 아무래도 함수같지요. 이것은 Django의 View를 쓰는 방법이 또 하나, 함수 베이스의 정의 방법입니다. 이것이 있기 때문에 장고는 팀 개발을 원하지 않습니다.
@ api_view 는 get 메소드의 함수임을 나타냅니다. 나중에 함수이므로 이해하십시오. 그렇지 않으면 Python에 익숙하지 않을 수 있으므로 다른 언어로 RESTful API를 개발하십시오.
Swagger에서 확인하면 다음과 같습니다.
Next Step?
우선 이것만 움직이면 뒤는 기분으로 해결할 수 있다고 생각합니다.
뭔가 문제가 있으면 저장소의 issue를 설정하십시오.
Tips
인증 주위에는 어떤 종류가 있습니까? 그리고 어느 것이 추천?
Django Rest Framework에는 이 목록에 있는 인증 방법과 django-rest-auth에 있는 것과 같은 Social Authentication(Twitter 인증 등)이 있습니다.
개인적으로는 Session Authentication 가 아무것도 생각하지 않고 손에 익숙해져 있기 때문에 좋아합니다만, 빌어 먹을 자일 개발이라고 하고 있으면 팀의 불종이 되기 때문에, Basic 인증이 편하지 않을까요. 다만 당연히 HTTPS화가 추천이므로, 그 점만 조심할 필요가 있을 것 같네요.
(라고 할까 인증 주위 자체 팀 개발의 화종인 것은…?)
backlog
이 상태의 데이터는이 리포지토리의 release v0.1.6에 있습니다.
리포지토리
목차
Django Rest Framework 2.x 튜토리얼 (0)
Django Rest Framework 2.x 튜토리얼 (1)
Django Rest Framework 2.x 튜토리얼 (2)
Django Rest Framework 2.x 튜토리얼 (3)
Django Rest Framework 2.x 튜토리얼 (4)
Django Rest Framework 2.x 튜토리얼 (5)
Django Rest Framework 2.x 튜토리얼 (6)
Reference
이 문제에 관하여(Django Rest Framework 2.x 튜토리얼 (6)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MeguruMokke/items/7e8d44f69f549f00bd4c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
인증 주위에는 어떤 종류가 있습니까? 그리고 어느 것이 추천?
Django Rest Framework에는 이 목록에 있는 인증 방법과 django-rest-auth에 있는 것과 같은 Social Authentication(Twitter 인증 등)이 있습니다.
개인적으로는 Session Authentication 가 아무것도 생각하지 않고 손에 익숙해져 있기 때문에 좋아합니다만, 빌어 먹을 자일 개발이라고 하고 있으면 팀의 불종이 되기 때문에, Basic 인증이 편하지 않을까요. 다만 당연히 HTTPS화가 추천이므로, 그 점만 조심할 필요가 있을 것 같네요.
(라고 할까 인증 주위 자체 팀 개발의 화종인 것은…?)
backlog
이 상태의 데이터는이 리포지토리의 release v0.1.6에 있습니다.
리포지토리
목차
Django Rest Framework 2.x 튜토리얼 (0)
Django Rest Framework 2.x 튜토리얼 (1)
Django Rest Framework 2.x 튜토리얼 (2)
Django Rest Framework 2.x 튜토리얼 (3)
Django Rest Framework 2.x 튜토리얼 (4)
Django Rest Framework 2.x 튜토리얼 (5)
Django Rest Framework 2.x 튜토리얼 (6)
Reference
이 문제에 관하여(Django Rest Framework 2.x 튜토리얼 (6)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MeguruMokke/items/7e8d44f69f549f00bd4c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Django Rest Framework 2.x 튜토리얼 (0)
Django Rest Framework 2.x 튜토리얼 (1)
Django Rest Framework 2.x 튜토리얼 (2)
Django Rest Framework 2.x 튜토리얼 (3)
Django Rest Framework 2.x 튜토리얼 (4)
Django Rest Framework 2.x 튜토리얼 (5)
Django Rest Framework 2.x 튜토리얼 (6)
Reference
이 문제에 관하여(Django Rest Framework 2.x 튜토리얼 (6)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MeguruMokke/items/7e8d44f69f549f00bd4c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)