IT 공부 기록/Django 27
Django REST Framework 튜토리얼-5 : Relationships & Hyperlinked APIs
REST Framework Tutorial - 5 튜토리얼 사이트 관계 및 하이퍼링크된 API 현재 API 내의 관계는 기본 키(Primary Key)를 이용해 나타내고 있다. 이번에는 하이퍼링크로 API의 cohesion과 discoverability를 향상 시킬 것이다. Creating an endpoint for the root of our API 우리는 지금까지 데이터와 사용자간의 엔드 포인드를 만들었지만, API의 단일 진입점이 없었다. 이를 만들기 위해 앞서 소개한 Function-based view와 @api_view 데코레이터를 이용한다. # snippets/ views.py from rest_framework.decorators import api_view from rest_framewo..
Django REST Framework 튜토리얼-4 : Authentication & Permissions
REST Framework Tutorial - 4 튜토리얼 사이트 인증 & 권한 우리가 만든 API는 데이터를 편집하거나, 삭제하는데 있어 아무 제한이 없다. 다음과 같은 사항을 확실히 하기 위해 더 나은 기능들을 추가해보자. 데이터는 항상 생성자와 연관되어 있다. 인증받은 사용자만이 데이터를 생성할 수 있다. 작성자만이 수정하거나 삭제할 수 있다. 인증받지 않은 사용자는 읽기 전용만 가능하다. Adding information to our model Snippet 모델을 수정하자. 두 개의 필드를 추가한다. 이 필드 중 하나(owner)는 데이터를 만든 사용자를 나타내는데 사용된다. 다른 필드는 HTML의 하이라이트 부분을 저장하는데 사용한다. owner = models.ForeignKey('auth...
Django REST Framework 튜토리얼-3 : Class-based Views
REST Framework Tutorial - 3 튜토리얼 사이트 CBV를 이용해 API view를 작성한다. Rewriting our API using class-based views CBV를 기반으로 최상단 View를 재작성 해보자. # snippets/ views.py from snippets.models import Snippet from snippets.serializers import SnippetSerializer from django.http import Http404 from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status class..
Django REST Framework 튜토리얼-2 : Requests and responses
REST Framework Tutorial - 2 튜토리얼 사이트 이제 REST Framework의 핵심을 다뤄보자. Request objects REST 프레임워크의 Request 객체는 HttpRequest를 확장하여 조금 더 유연하게 요청을 파싱한다. Request 객체의 핵심은 Request.data 속성으로, Request.Post와 비슷하지만 웹 API 작업에 더 적합하다. request.POST # Form 데이터만 다룬다. 오로지 POST 메서드에서만 사용이 가능하다. request.data # 아무 데이터나 다룰 수 있다. POST뿐만 아니라 PUT, PATCH 메서드에서도 사용이 가능하다. Response objects REST 프레임워크에는 Response 객체도 존재한다. 이 객체는..
Django REST Framework 튜토리얼 - 1 : Serialization
REST Framework Tutorial - 1 튜토리얼 사이트 REST Framework를 다뤄봅니다. Setting up a new environment 가상 환경 생성 virtualenv env source env/bin/activate pygments : 파이썬 기반 문법 하이라이터 # 환경세팅 pip install django pip install djangorestframework pip install pygments # 프로젝트 생성 django-admin.py startproject tutorial # 앱 생성 cd tutorial python manage.py startapp snippets Creating a model to work with # snippets/ models.py f..