查看“Viewsets和router完成商品列表页”的源代码
←
Viewsets和router完成商品列表页
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==应用Viewsets实现商品列表页== ===视图层view.py=== <nowiki>from .serializers import GoodsSerializer from rest_framework.response import Response from rest_framework import mixins from rest_framework import generics from rest_framework.pagination import PageNumberPagination from rest_framework import viewsets from .models import Goods # Create your views here. class GoodsPagination(PageNumberPagination): page_size = 12 page_size_query_param = 'page_size' page_query_param = "page" max_page_size = 100 class GoodsListViewSet(mixins.ListModelMixin, viewsets.GenericViewSet): """ 商品列表页 """ queryset = Goods.objects.all() serializer_class = GoodsSerializer pagination_class = GoodsPagination </nowiki> ===路由urls.py=== 下面代码 对get 方法 和list方法做了一个绑定: <nowiki>from django.conf.urls import url, include #from django.contrib import admin import xadmin from mxshop.settings import MEDIA_ROOT from django.views.static import serve from rest_framework.documentation import include_docs_urls from goods.views import GoodsListViewSet goods_list = GoodsListViewSet.as_view({ 'get':'list', }) urlpatterns = [ url(r'^xadmin/', xadmin.site.urls), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')), url(r'^media/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}), url(r'goods/$',goods_list, name="goods-list"), url(r'docs/', include_docs_urls(title="silutong")), ]</nowiki> ==应用router简化路由== ===urls.py=== 通过引入router ,便利url寻址和绑定 <nowiki>from django.conf.urls import url, include #from django.contrib import admin import xadmin from mxshop.settings import MEDIA_ROOT from django.views.static import serve from rest_framework.documentation import include_docs_urls from rest_framework.routers import DefaultRouter from goods.views import GoodsListViewSet router = DefaultRouter() router.register(r'goods',GoodsListViewSet) urlpatterns = [ url(r'^xadmin/', xadmin.site.urls), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')), url(r'^media/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}), url(r'^',include(router.urls)), url(r'docs/', include_docs_urls(title="silutong")), ]</nowiki>
返回至
Viewsets和router完成商品列表页
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息