이번 시간에는 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 |