1. 程式人生 > >python-django rest framework框架之路由

python-django rest framework框架之路由

dex frame self elf rgs nat register model create

路由
    
    第一類:原始繼承APIView
        # http://127.0.0.1:8000/api/v1/auth/
        url(r^auth/$, views.AuthView.as_view()),

        # http://127.0.0.1:8000/api/v1/auth.json # 想要讓頁面顯示json格式
        url(r^auth\.(?P<format>[a-z0-9]+)$, views.AuthView.as_view()),

        # http://127.0.0.1:8000/api/v1/auth/1/
        url(r^auth/(?P<pk>\d+)/$
, views.AuthView.as_view()), # http://127.0.0.1:8000/api/v1/auth/1.json url(r^auth/(?P<pk>\d+)\.(?P<format>[a-z0-9]+)$, views.AuthView.as_view()), class AuthView(views.APIView): def get(self,request,*args,**kwargs): return Response(...) 第二類: 繼承ModelViewSet
url(r
^index/$, views.IndexView.as_view({get:list,post:create})), url(r^index/\.(?P<format>[a-z0-9]+)$, views.IndexView.as_view({get:list,post:create})), url(r^index/(?P<pk>\d+)/$, views.IndexView.as_view({get:retrieve,delete:destroy,put
:update,patch:partial_update})), url(r^index/(?P<pk>\d+)\.(?P<format>[a-z0-9]+)$, views.IndexView.as_view({get:retrieve,delete:destroy,put:update,patch:partial_update})), class IndexView(viewsets.ModelViewSet): queryset = models.UserInfo.objects.all() serializer_class = IndexSerializer pagination_class = P2 第三類:自動幫咱們生成四種url,index/$,index/(?P<pk>\d+)$,index/\.(?P<format>[a-z0-9]+)$,index/(?P<pk>\d+)\.(?P<format>[a-z0-9]+)$ from rest_framework.routers import DefaultRouter router = DefaultRouter() router.register(index,views.IndexViewSet) urlpatterns = [ url(r^, include(router.urls)), ] class IndexViewSet(viewsets.ModelViewSet): queryset = models.UserInfo.objects.all() serializer_class = IndexSerializer pagination_class = P2 class IndexSerializer(serializers.ModelSerializer): class Meta: model = models.UserInfo fields = "__all__"

python-django rest framework框架之路由