在django中每个应用程序的urls.py有什么用?

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

我正在制作一个 django 项目,我了解到我们需要为项目中创建的每个应用程序创建一个

urls.py
文件。

谁能告诉我们这样做的目的是什么,因为我们有一个用于主项目的

urls.py
文件,这还不够吗?

python django url-mapping
3个回答
1
投票

主要是为了可重用性,部分是为了组织原因。单独的

urls.py
文件允许 Django 应用程序在项目之间移植。如果您使用
urls.py
发布应用程序,那么它可以在许多不同的 Django 项目中轻松使用。官方教程的可重用应用程序部分对此进行了介绍。

例如,管理站点由 Django 本身附带的可重用

admin.site
应用程序提供。
admin.site
应用程序提供自己的
urls.py
文件,因此您可以轻松添加到您自己项目的 url 模式。

像这样:

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

如果

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

管理应用程序只是一个例子。有许多应用程序分布在 PyPI 上,并且可以通过

pip
安装。

也就是说,这并不是完全必要的。正如您所指出的,有一个项目级别的

urls.py
文件。如果您确实愿意,可以单独使用它。


0
投票

理解urls.py没有任何困难。它用于在项目中创建路由。

路线如:

/home
/users etc.

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

但是为每个应用程序创建 urls.py 看起来很容易理解。

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

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

希望你能理解!


0
投票

如果你把所有网站的url都放在项目的主urls.py中,文件会变得很长,维护和更改会非常困难,而且你必须将所有视图导入到这个文件中。另一方面,单独的 urls.py 允许您在不同的项目中使用具有不同 URL 模式的同一应用程序。

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