일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Algorithm
- HTML
- AWS
- CSS
- API
- MAC
- 알고리즘 문제
- javascript
- 백준
- 알고리즘 풀이
- 파이썬
- PYTHON
- Django
- form
- Baekjoon
- js
- django widget
- DRF
- web
- react
- django rest framework
- 장고
- Git
- 알고리즘 연습
- 파이썬 알고리즘
- java
- 알고리즘
- django ORM
- c++
- es6
- Today
- Total
목록django rest framework (8)
수학과의 좌충우돌 프로그래밍

DRF 에서의 접근제한을 알아보도록 하겠습니다. 우선 기본적으로 접근제한을 제외한 기본적인 코드들에 대해서는 설명을 생략하겠습니다. 앞의 포스팅들을 참고해주세요. 현재 까지의 진행 상황은 다음과 같습니다. Post 모델에 author 를 추가하여 글 작성자를 연결하였습니다. # models.py from django.db import models from django.conf import settings class Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) title = models.CharField(max_length=100) created_at = models.Date..

이번 포스팅에서는 Serializer 에 대해서 자세히 알아보도록 하겠습니다. Serializer 우선 github에서의 Serializer 코드를 살펴보겠습니다. Serializer 는 BaseSerializer 를 상속 받고 BaseSerializer 의 생성자는 아래와 같습니다. # rest_framework/serializers.py class BaseSerializer(Field): def __init__(self, instance=None, data=empty, **kwargs): # 생략 class Serializer(BaseSeializer): # 생략 그렇기 때문에 우리는 이를 사용할 때 post 라는 instance가 먼저 나온다면 뒤에 data 라는 keyword 를 써줄 필요가 없지..

실제 서비스의 경우에는 레코드의 개수가 많을 것이고 이 경우 하나의 API 요청으로 모든 레코드를 받는 것은 오랜 시간이 걸리게 됩니다. 따라서 이런 경우 페이지를 나눠서 요청을 해야합니다. 다행히도 DRF 에서는 이러한 pagination 기능을 제공하고 있습니다. PageNumberPagination 과 LimitOffsetPagination pagination 을 하는데는 크게 두 가지 방법이 있습니다. 두 방법 모두 url 의 get parameter 를 이용하여 이를 지원해줍니다. 각각에 대해 알아보도록 하겠습니다. PageNumberPagination page : 몇 번째 페이지인지 표시해줍니다. 페이지는 1부터 시작합니다. page_size : 한 페이지에 몇 개의 레코드를 보여줄지 표시해줍..

목록을 조회하는 ListAPIVIew 에서 필터링하는 방법에 대해서 알아보도록 하겠습니다. 이는 CBV 의 일종이기 때문에 CBV와 익숙하시다면 쉽게 하실 수 있을 겁니다. 여러 인자 획득 filtering 을 하는데 필요한 인자들을 request 를 통해서 획득할 수 있습니다. self.request.user 현재 로그인 중인 유저에 접근할 수 있습니다. 로그인이 안 되어 있을 시에는 AnnoymousUser 인스턴스를 획득합니다. self.request.GET 요청한 get 인자들을 획득합니다. self.request.query_params self.request.GET 와 같은 값을 얻습니다. 보다 더 가독성이 높기 때문에 DRF 에서 지원하고 있습니다. self.kwargs URL Capture ..

Django-APIView-Mixins-genericsAPIView-ViewSet을-알아보자 [Django] APIView, Mixins, generics APIView, ViewSet을 알아보자 django 에서는 view 를 통해서 HTTP 요청을 처리합니다. view에서 이를 처리하는 방법은 다양합니다. FBV(함수기반뷰), CBV(클래스기반뷰) 를 통해서도 API 를 만들 수 있지만 rest_framework 는 보다 쉽게, 효율.. ssungkang.tistory.com 저번 포스팅에서 ViewSet 에 대해서 간단히 알아보았습니다. 이번에는 좀 더 자세히 알아보도록 하겠습니다. ViewSet 저번 포스팅에서도 언급했지만 ViewSet 은 다른 것들과 좀 달랐습니다. 일반적인 CBV 가 아니기 ..

django 에서는 view 를 통해서 HTTP 요청을 처리합니다. view에서 이를 처리하는 방법은 다양합니다. FBV(함수기반뷰), CBV(클래스기반뷰) 를 통해서도 API 를 만들 수 있지만 rest_framework 는 보다 쉽게, 효율적으로 만들 수 있습니다. Serializer [Django] django rest framework 를 위한 JSON 직렬화 [Django] django rest framework 를 위한 JSON 직렬화 ModelSerializer 를 통한 JSON 직렬화 DRF 에서는 ModelSerializer 를 통해 JSONRenderer 에서 변환가능한 형태로 먼저 데이터를 변환합니다. Serializer 는 장고의 Form 과 유사하며 ModelSerializer는 ..

ModelSerializer 를 통한 JSON 직렬화 DRF 에서는 ModelSerializer 를 통해 JSONRenderer 에서 변환가능한 형태로 먼저 데이터를 변환합니다. Serializer 는 장고의 Form 과 유사하며 ModelSerializer는 장고의 ModelForm과 유사합니다. 둘의 결정적인 차이는 Form 은 html 을 생성하고 Serializer는 JSON 문자열을 생성하는 차이가 있습니다. 실습을 위하여 간단히 모델을 정의하였습니다. # models.py from django.db import models class Post(models.Model): title = models.CharField(max_length=100) message = models.TextField() ..

DRF 라고 불리는 django rest framework 를 학습하기 이전에 기초적인 내용에 대해 알아보고자 합니다. JSON JSON 은 JavaScript Object Notation 의 줄임말로서 데이터의 송수신을 자바스크립트 객체로서 수행할 수 있게끔 하는 가벼운 문자열 데이터 표현식입니다. JSON 이 등장하기 이전에는 XML 이 그 역할를 독차지 하고 있었습니다. 하지만 XML 은 비교적 크기가 무겁다는 이유로 요즘은 JSON 이 더 많은 지분을 확보하고 있습니다. XML 이란? eXtensible Markup Language 의 줄임말로서 html 과 많이 비교됩니다. 둘의 결정적인 차이는 html 은 테그들을 통해서 데이터를 표현하는 마크업 언어이고 XML 은 데이터를 설명하는 마크업 언..