[我正在尝试找出在Django应用中编写urls.py
文件的最佳实践。我正在将一个旧项目更新为Django 2,并且在更新文档中了解到urls.py
文件应正确命名。进行一些谷歌搜索建议我始终在app_name
中定义urls.py
,因此您不必手动将app_name添加到每个url端点。相反,您可以像(“ [app_name
:url_name
”)那样访问它。
在我的项目中,我有:
avatar/urls.py
services/urls.py
因此,在这种情况下,我不确定如何命名它们,但是现在我已经将app_name = "avatar"
中的avatar/urls.py
和app_name = "avatar-services"
中的services/urls.py
删除了。
它们都需要app_name
来进行适当的命名间隔吗?最佳做法是始终为每个app_name
定义一个urls.py
吗?我不确定是否需要或什至建议这样做。如果我理解正确,那么它只是为了更轻松/合理地访问url,并非严格要求,但从某种意义上来说,建议这样做比较容易。
编辑:已更新,使示例更清晰。
对我来说,最好的方法是将urlpatterns转换为元组,并将appname作为第二个元素传递
urlpatterns = ([
path(..., name='some name'),
path(...., name='some name'),
.....
], 'appname')
不是强制包含多个urls.py
文件,但建议为每个应用程序。如果可以将您的主应用程序逻辑上分离为较小的应用程序,那么您应该这样做。每个应用程序都有自己的模型,urls.py,视图等。测试可以是每个应用程序的一部分。