Python 为API组织django URL模式

Python 为API组织django URL模式,python,django,Python,Django,我想为所有api端点使用api版本索引(api/v1/)。目前,我通过如下方式构建我的URL模式来实现这一目标: urlpatterns = [ path('api/v1/units/', include('units.api.urls')), path('api/v1/accounts/', include('accounts.api.urls')), ] 有没有办法更优雅地组织这件事?理想情况下,我希望它看起来像这样: apipatterns = [ 'units/

我想为所有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)),
]

您可以使用
path
include
来执行

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

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

urlpatterns = [
    path('api/v1/', include(apipatterns)),
]
因此,路由
api/v1/units/
将由
'units.api.url'
处理,而
api/v1/accounts/
将由
'accounts.api.url'
处理


我希望这会有所帮助。

您可以使用
path
include
进行

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

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

urlpatterns = [
    path('api/v1/', include(apipatterns)),
]
因此,路由
api/v1/units/
将由
'units.api.url'
处理,而
api/v1/accounts/
将由
'accounts.api.url'
处理

我希望这会有所帮助。

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

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

urlpatterns = [
    path('api/v1/', include(apipatterns)),
]
下面是中的一个类似示例。

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

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

urlpatterns = [
    path('api/v1/', include(apipatterns)),
]
下面是一个类似的例子