在Django 2的urls.py中推荐使用已定义的app_name吗?

问题描述 投票:0回答:1

[我正在尝试找出在Django应用中编写urls.py文件的最佳实践。我正在将一个旧项目更新为Django 2,并且在更新文档中了解到urls.py文件应正确命名。进行一些谷歌搜索建议我始终在app_name中定义urls.py,因此您不必手动将app_name添加到每个url端点。相反,您可以像(“ [app_nameurl_name”)那样访问它。

在我的项目中,我有:

avatar/urls.py
services/urls.py

因此,在这种情况下,我不确定如何命名它们,但是现在我已经将app_name = "avatar"中的avatar/urls.pyapp_name = "avatar-services"中的services/urls.py删除了。

它们都需要app_name来进行适当的命名间隔吗?最佳做法是始终为每个app_name定义一个urls.py吗?我不确定是否需要或什至建议这样做。如果我理解正确,那么它只是为了更轻松/合理地访问url,并非严格要求,但从某种意义上来说,建议这样做比较容易。

编辑:已更新,使示例更清晰。

django django-urls django-2.2
1个回答
0
投票

对我来说,最好的方法是将urlpatterns转换为元组,并将appname作为第二个元素传递

urlpatterns = ([
    path(..., name='some name'),
    path(...., name='some name'),
    .....
], 'appname')

0
投票

不是强制包含多个urls.py文件,但建议为每个应用程序。如果可以将您的主应用程序逻辑上分离为较小的应用程序,那么您应该这样做。每个应用程序都有自己的模型,urls.py,视图等。测试可以是每个应用程序的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.