zoukankan      html  css  js  c++  java
  • python-django rest framework框架之路由

    路由
        
        第一类:原始继承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__"
  • 相关阅读:
    谷歌浏览器提示Adobe Flash Player因过期而遭到阻止
    Oracle 查看表空间剩余与创建空间语法
    招标
    iphone刷机各种错误
    oracle 创建dblink
    imp-00002 无法打开。。
    oracle 大字段clob检索
    (一)EasyUI 使用——基本概念
    使用 Google 高级搜索的一些技巧
    (四)Maven构建多模块项目
  • 原文地址:https://www.cnblogs.com/liuwei0824/p/8476410.html
Copyright © 2011-2022 走看看