练习01

作业

  • 符合restful接口规范的CBV视图后端
# 1. 配置文件中注册跨域和api
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 先第三方,再自定义
    'corsheaders',  # 第三方
    'api',  # 自定义
]

CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_HEADERS = [  # 允许通过的请求头部
    "accept",
    "accept-encoding",
    "authorization",
    "content-type",
    "dnt",
    "origin",
    "user-agent",
    "x-csrftoken",
    "x-requested-with",

    "token",
    "owen",
]



# 2. 总路由中********************************
# 使用路由分发

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

# from app import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    # 路由分发
    url(r'^api/', include('api.urls')),
]


# 3. api文件夹的urls文件中********************************

from django.conf.urls import url

from . import views
urlpatterns = [
    # http://127.0.0.1:8000/api/books/ 
    # http://127.0.0.1:8000/api/books/(pk)/  
    url(r'^books/$', views.BookView.as_view()),
    url(r'^books/(?P<pk>\d+)/$', views.BookView.as_view())
]



# 4. views文件中****************************

from django.http import JsonResponse
from django.views import View

# 一个视图类可以包括常规五个请求方法:get|post|put|patch|delete
# 五个请求方法处理十个资源操作的逻辑:单群查|单群增|单群整体改|单群局部改|单群删
class BookView(View):
    def get(self, request, *args, **kwargs):
        return JsonResponse({
            'status': 0,
            'msg': 'get ok'
        })

    def post(self, request, *args, **kwargs):
        return JsonResponse({
            'status': 0,
            'msg': 'post ok'
        })

    def put(self, request, *args, **kwargs):
        return JsonResponse({
            'status': 0,
            'msg': 'put ok'
        })

    def patch(self, request, *args, **kwargs):
        return JsonResponse({
            'status': 0,
            'msg': 'patch ok'
        })

    def delete(self, request, *args, **kwargs):
        return JsonResponse({
            'status': 0,
            'msg': 'delete ok'
        })
上一篇:django


下一篇:Kali Linux初始化