본문 바로가기

web/Django_rest_framework

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.py

from rest_framework.generics import ListAPIView, RetrieveAPIView, DestroyAPIView, UpdateAPIView, CreateAPIView
......

class PostCreateAPIView(CreateAPIView):
queryset = Post.objects.all()
serializer_class = PostSerializer



2. PostCreateAPIView를 작동시킬 url를 추가해 줍니다.

아래는 urls의 모든 소스 입니다. 


post/api/urls.py



from django.conf.urls import url
from django.contrib import admin

from .views import (
PostCreateAPIView,
PostDetailAPIView,
PostListAPIView,
PostUpdateAPIView,
PostDeleteAPIView,

)


urlpatterns = [
url(r'^$', PostListAPIView.as_view(), name='list'),
url(r'^create/$', PostCreateAPIView.as_view(), name='create'),
url(r'^(?P<pk>\d+)/$', PostDetailAPIView.as_view(), name='detail'),
url(r'^(?P<pk>\d+)/edit/$', PostUpdateAPIView.as_view(), name='update'),
url(r'^(?P<pk>\d+)/delete/$', PostDeleteAPIView.as_view(), name='delete'),

]


3. 끝입니다. 간단하죠?!

이제 확인하러!!

/api/posts/create/ 로 접속하면 update화면과 비슷하게 create 화면이 나오게 됩니다. 





4. title과 content 부분에 값을 넣고 post버튼을 눌러주면



5. 새로운 데이터가 생성된것을 확인하실수 있습니다. 



- createAPIView 는 http://www.django-rest-framework.org/api-guide/generic-views/#createapiview 에서 확인하실수 있습니다. 

'web > Django_rest_framework' 카테고리의 다른 글

7 search  (0) 2016.07.28
6 저장/수정시 유저 저장  (0) 2016.07.27
4 update delete  (0) 2016.07.25
3 get detail 구현  (0) 2016.07.25
2. get method 구현  (0) 2016.07.25