ner*_*doc 4 django django-rest-framework
我使用 Django 2.1 和 DRF,并计划创建一个包含许多插件应用程序的相当大的应用程序。我希望/apiDRF 有一个 URL 作为端点,但允许每个应用程序在 REST 端点上公开一个特殊模型,例如:
主要是urls.py:
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)
urlpatterns = [
# ...
path('api/', include(router.urls)),
# ...
]
Run Code Online (Sandbox Code Playgroud)
并在foo_app/urls.py:
router = routers.DefaultRouter()
router.register(r'foomodel', FooModelViewSet)
Run Code Online (Sandbox Code Playgroud)
现在,/api/foomodel产生一个404错误。foo_model/urls.py 被导入(在 Django 启动时打印一条打印语句),所有其他的都foo_model.urlpattern[path...]被识别并且工作正常。
如何为中央 api REST 端点定义自定义 api 模型端点?我在文档中没有找到任何内容。
提前致谢。
小智 6
我只是通过扩展路由器注册表来实现这一点。
根urls.py
from ad.urls import router as ad_router
main_router = routers.DefaultRouter()
main_router.registry.extend(ad_router.registry)
Run Code Online (Sandbox Code Playgroud)
ad.urls.py
from .api.urls import router as api_router
router = routers.DefaultRouter()
router.registry.extend(api_router.registry)
Run Code Online (Sandbox Code Playgroud)
ad.api.urls.py
router = routers.DefaultRouter()
router.register(r'ad', AdViewSet)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2142 次 |
| 最近记录: |