在 Django 中,每个应用程序 urls.py 的用途是什么?

In django what is the use of urls.py for each app?

我正在制作一个 Django 项目,我了解到我们需要为项目中创建的每个应用程序创建一个 urls.py 文件。

谁能告诉我这样做的目的是什么,因为我们有一个 urls.py 主项目文件,这还不够吗?

主要是为了可重用性,部分是出于组织原因。单独的 urls.py 文件允许 django 应用程序在项目之间移植。如果你发布一个带有 urls.py 的应用程序,那么它可以很容易地在许多不同的 Django 项目中使用。官方教程的 Reusable Apps 部分对此进行了介绍。

例如,管理站点由 Django 本身附带的可重用 admin.site 应用程序提供。 admin.site 应用程序提供自己的 urls.py 文件,因此您可以轻松地将其添加到自己项目的 url 模式中。

像这样:

urlpatterns = [
    path('admin/', admin.site.urls),
    # ...
]

如果 admin.site 应用程序没有自己的 urls.py 文件,这是不可能的。

管理应用只是一个例子。有许多应用程序在 PyPI 上分发并且可以使用 pip.

安装

也就是说,这并非完全必要。正如您指出的那样,有一个项目级别 urls.py 文件。如果你真的想的话,你可以单独使用它。

不难理解urls.py。用于在项目中创建路由。

路线如:

/home
/users etc.

这不是必须为每个应用程序创建 urls.py。您可以在主项目的 urls.py 中添加所有应用程序路径。这取决于你。

但是为每个应用创建 urls.py 格式看起来很好理解。

路线定义了您要去的地方,即从一条路线到另一条路线。

请记住,每个视图必须在 urls.py 中有路径。没有这个,它不会出现在网页上。

希望你明白了!