본문 바로가기

web

(198)
8 pagination 이번 포스팅은 앞써 post list화면의 페이지 네이션을 적용하겠습니다. 해당 포스팅에서의 소스파일은 아래 링크에서 확인 가능합니다.https://github.com/uiandwe/django_rest_api/tree/a923a4cc3c7666c46685021c30ae78292abd91eb 1. 먼저 /posts/api/views.py 파일에서 rest_framework.pagination 과 PostListAPIView()함수에 페이지네이션을 사용한다는 선언을 해줘야 합니다. pagination_class는 사용자가 지정한 limit 값만큼 해당 데이터갯수를 혹은 offset으로 지정한 해당 페이지를 돌려줍니다.자세한 내용은 링크 참조!http://www.django-rest-framework.org..
7 search 이번 포스팅은 search에 대한 전반적인 로직을 포스팅할 예정입니다. 1. 먼저 로그인한 유저의 데이터만 볼수 있도록 list 부분을 수정해 보도록 하겠습니다. 현재 저장된 데이터는 아래 화면처럼 4개 입니다. 3개는 1번인 admin / 1개는 3번인 testuser 입니다. 2. post/api/views.py 에서 PostListAPIView()에 get_queryset()을 오버라이딩 합니다. get_queryset()은 GeneriView에서 어떤 데이터를 가져올 것인지에 대한 query를 총괄하는 함수 입니다. 기존에 사용하던 queryset이 바로 get_queryset 라고 보시면 됩니다. 파라미터중 self.request 를 통해서 파라미터를 받아서 처리하게끔 하면 됩니다. 자세한 사항..
6 저장/수정시 유저 저장 이번 포스팅은 기존의 create 와 update시 저장되는 유저의 데이터를 현재 로그인한 유저로 저장되게끔 하는 방법입니다. 기존의 로직대로라면 처음 저장한 유저의 데이터로 저장되며 수정이 되지 않던 문제를 보강합니다. 해당 포스팅의 모든 소스는 아래 링크에서 확인 가능합니다. https://github.com/uiandwe/django_rest_api/tree/726c4eef6b39872dc3cbd9ca5823e637959aded0 1. 먼저 저장하는 유저를 보기위해서 시리얼라이져에 유저 필드를 추가 합니다. post/api/serializers.py'user' 추가fields = [ 'pk', 'user', 'title', 'content', 'created_at', ]2. create에 perfo..
5. create 이번 시간에는 api중 마지막으로 남은 create를 구현합니다.post를 새롭게 만들어주는 로직을 rest_Framework로 구현하며해당 포스팅의 모든 소스는 아래에서 확인하실 수 있습니다. https://github.com/uiandwe/django_rest_api/tree/4587be2f9f104b5168aba6e8defc414178e5fb3e 1. 먼저 views.py에 create에 대한 뷰를 선언합니다.rest_Framework의 CreateAPIView 를 사용합니다. post/api/views.pyfrom rest_framework.generics import ListAPIView, RetrieveAPIView, DestroyAPIView, UpdateAPIView, CreateAPIVi..
4 update delete 이번 편에서는 입력한 post에 대한 update 와 delete를 구현하겠습니다. 해당 포스팅의 소스는 아래의 링크에서 확인 하실수 있습니다. https://github.com/uiandwe/django_rest_api/tree/70b5380ca66ea6e16e7c41d303f3c68ba3317ded 1. Get과 마찬가지로 generics에서 해당 view를 상속 받아야 합니다. 이번에는 DestroyAPIView / UpdateAPIView 입니다. 자세한 설명은 http://www.django-rest-framework.org/api-guide/generic-views/#destroyapiview post/api/views.py 에 아래의 소스를 추가해 줍니다. from rest_framework..
3 get detail 구현 앞써 /api/posts/ 를 통해 post의 데이터를 리턴하는 list endpoint를 구현하였습니다. 이번에는 리스트가 아닌 하나의 객체를 리턴하는 detail endpoint 를 구현할 포스팅입니다. 최종적으로 /api/posts/포스트아이디/ 를 통해서 데이터를 리턴하는 페이지를 구현할 것입니다. 해당 포스팅의 모든 소스는 아래의 링크에서 다운 받을수 있습니다. https://github.com/uiandwe/django_rest_api/tree/8b876de0dbaf207ec351a64fcfaf4ee91cf445b6 1. 먼저 detail의 url를 보기 위한 표현 할 정보중 해당 id 를 표현하기 위해 시리얼라이져의filedls에 pk를 추가해 줍니다. post/api/serializers...
2. get method 구현 해당 포스팅의 모든 소스는 아래의 링크에서 받을수 있습니다.https://github.com/uiandwe/django_rest_api/tree/81c17d3ad6f2b9973d702f076479e18f961b6b0e 앞으로 구현할 endpoint들은 다음의 메소드 별로 작동할 것입니다. CURD method actionCREATE POST Make New RETRIEVE GET List / Search UPDATE PUT/PATCH Edit DELETE DELETE Delete rest api에서 기본적으로 데이터를 가져오는 method는 get 호출입니다. 해당 포스팅에서는 get 을 구현하여 post의 모든 데이터를 list로 가져오는 로직을 구현할 것입니다. (사실 해당 포스팅만 끝나면 앞으론 너..
1. django rest_framework 셋팅 django rest framework 첫번째 포스팅입니다. 이번 포스팅에서는 pycharm에서 rest_framework 설정 및 앞으로 사용할 프로젝트를 셋팅에 대해서 이야기 합니다. - python3.4 버전을 사용하였습니다. 해당 포스팅의 모든 소스 예제는 여기서 다운하실수 있습니다. https://github.com/uiandwe/django_rest_api/tree/d6900aa4ad2622487f6f7dc95b25760203b0a99c 1. django rest framework 패키지 설치 django로 프로젝트를 생성 후 메뉴바의 file -> settings 클릭! 메뉴 중에서 project -> project interpreter 클릭! 을 하면 현재 설치된 패키지들을 볼수 있습니다...