我想知道以下内容是否被视为“不良做法”。在Django项目中,每个应用程序都有多个urls.py
文件。因此,例如,我在一个名为locations
的单个应用中,可以保存以下文件:
# locations/urls/api.py
# locations/urls/general.py
这两个都包含在“主url文件”中:
# settings/urls.py
from django.urls import include, path
urlpatterns = [
# ... snip ...
path('api/locations', include('locations.urls.api')),
path('locations/', include('locations.urls.general')),
# ... snip ...
]
我考虑采用这种构造的原因是,我希望一些“位置url”位于api/...
路由内,并将其他应用程序的路由合并到api/...
路由中,而我想处于locations/...
路线之内。
我希望我的解释清楚。让我知道您对这种结构的看法!
干杯!
答案 0 :(得分:3)
您实际上不需要将它们放在单独的文件中。 include
可以包含模式列表:因此您可以这样做:
api_urlpatterns = [
path(...),
path(...),
]
general_urlpatterns = [
path(...),
path(...),
]
urlpatterns = [
# ... snip ...
path('api/locations', include(api_urlpatterns)),
path('locations/', include(general_urlpatterns)),
# ... snip ...
]