English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french
查看: 6|回复: 0

Django RestFramework 使用router生成路由

[复制链接]
查看: 6|回复: 0

Django RestFramework 使用router生成路由

[复制链接]
查看: 6|回复: 0

205

主题

0

回帖

625

积分

高级会员

积分
625
MkQl6y4n

205

主题

0

回帖

625

积分

高级会员

积分
625
2025-2-21 20:14:59 | 显示全部楼层 |阅读模式
django 使用的是模块化结构,每个 app 都可以独立拆分,那么注册路由的时候也可以灵活一点, 使用 drf 框架提供的 router 来自动生成路由
应用级 urls.py
1
2
3
4
5
6
7
8
9
10
11
12
13
from django.urls import path, include
from rest_framework import routers
from app01 import views

router = routers.DefaultRouter()
router.register(r'groups', views.GroupViewSet)
router.register(r'students', views.StudentViewSet)


urlpatterns = [
    path('/', include(router.urls)),
]

这里 path 路径是/, 引用了 router, router 注册了两个路由, 分别是 groups 和 students, 生成的 api 路径就是 /groups/ 和 /students
根级路由 urls.py
1
2
3
4
5
6
7
8
from django.contrib import admin
from django.urls import path, include
from app01.urls import router as app01_router

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include(app01_router.urls))
]
这里定义了 api/ 引入了 app01 里面的 router
那么最终的 url 结构就是:
1
2
http://localhost:8000/api/groups/
http://localhost:8000/api/students/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

205

主题

0

回帖

625

积分

高级会员

积分
625

QQ|智能设备 | 粤ICP备2024353841号-1

GMT+8, 2025-3-11 01:08 , Processed in 0.726969 second(s), 26 queries .

Powered by 智能设备

©2025

|网站地图