DRF - Routers

views.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from rest_framework.viewsets import GenericViewSet
from rest_framework import serializers
from rest_framework.pagination import PageNumberPagination
from drf import models
from rest_framework.response import Response
 
 
class PagerSerializer(serializers.ModelSerializer):
    class Meta:
        model = models.Role
        fields = "__all__"
 
 
class TestView(GenericViewSet):
    # 看源码
    queryset = models.Role.objects.all()  # 数据
    serializer_class = PagerSerializer  # 序列化
    pagination_class = PageNumberPagination  # 分页
 
    def list(self, request, *args, **kwargs):
        # 获取数据
        roles = self.get_queryset()
        # 分页
        role_page = self.paginate_queryset(roles)
        # 序列化
        ser = self.get_serializer(instance=role_page, many=True)
        return Response(ser.data)

urls.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
from django.urls import re_path, include
from drf import views
from rest_framework import routers
from django.conf.urls import url
 
router = routers.DefaultRouter()
router.register("aaaaa", views.TestView)
router.register("bbbbb", views.TestView)
 
urlpatterns = [
    re_path('view/$', views.TestView.as_view({"get": "list"})),
    url(r'^', include(router.urls)),  # 这里需要用 url
]

最先的视图需要用 re_path 匹配,不能用 path

访问一个不存在的路径

都加了前缀

 

posted @   Sch01aR#  阅读(90)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2018-01-21 Python命令模块argparse学习笔记(一)
点击右上角即可分享
微信分享提示