为API组织Django urlpatterns

2024-10-02 08:24:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想为我的所有api端点使用api版本索引(api/v1/)。目前我正在通过如下方式构建我的URL模式来实现它:

urlpatterns = [
    path('api/v1/units/', include('units.api.urls')),
    path('api/v1/accounts/', include('accounts.api.urls')),
]

有没有办法把这个组织得更优雅一些?理想情况下,我希望它看起来像这样:

apipatterns = [
    'units/', include('units.api.urls'),
    'accounts/', include('accounts.api.urls')
]

urlpatterns = [
    path('api/v1/', include(apipatterns)),
]

Tags: path版本apiurlinclude方式模式端点
2条回答

你的“理想”模式几乎是正确的。以下是更正的变体:

apipatterns = [
     path('units/', include('units.api.urls')),
     path('accounts/', include('accounts.api.urls')),
]

urlpatterns = [
    path('api/v1/', include(apipatterns)),
]

这里是documentation中的一个类似示例。你知道吗

对于Including other URLconfs,可以使用pathinclude。你知道吗

在这种情况下,您可以尝试:

apipatterns = [
    path('units/', include('units.api.urls')),
    path('accounts/', include('accounts.api.urls'))
]

urlpatterns = [
    path('api/v1/', include(apipatterns)),
]

因此路由api/v1/units/将由'units.api.urls'处理,api/v1/accounts/将由'accounts.api.urls'处理

我希望这会有帮助。你知道吗

相关问题 更多 >

    热门问题