RestFramework之url注册器、响应器、分页组件

一,url注册器

之前我们再写数据类的增删该查视图时,如果使用视图类组件的话,需要写这样两条url:

url(r"^author/$", views.AuthorView.as_view({"get": "list", "post": "create"})), 
url(r"^author/(?P<pk>\d+)/$", views.AuthorView.as_view({"put": "update", "delete": "destroy", "get": "retrieve"})),

每次都这么写,太麻烦了,所以restframework给我们提供了一种便捷的方式,就是url注册器;

在urls.py中这么写:

 
 
from django.conf.urls import url, include
from django.contrib import admin
from app01 import views
from rest_framework import routers
router = routers.DefaultRouter()
router.register("author", views.AuthorView)

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    # url(r"^author/$", views.AuthorView.as_view({"get": "list", "post": "create"})),
    # url(r"^author/(?P<pk>\d+)/$", views.AuthorView.as_view({"put": "update", "delete": "destroy", "get": "retrieve"})),
    url(r"^", include(router.urls)),
]

也以看到,它帮我们写了这么多url

根据这个规则,我们不仅可以写我们原来的拿两条url,还可以有两条url:

如:

http://127.0.0.1:8000/author.json/?token=552d69c2-4503-4d16-bacb-cc8da5f1b52c

直接就是返回的数据了:

http://127.0.0.1:8000/author/1.json?token=552d69c2-4503-4d16-bacb-cc8da5f1b52c

二,响应器

猜你喜欢

转载自www.cnblogs.com/glh-ty/p/9687873.html