我正在制作一个 django 项目,我了解到我们需要为项目中创建的每个应用程序创建一个
urls.py
文件。
谁能告诉我们这样做的目的是什么,因为我们有一个用于主项目的
urls.py
文件,这还不够吗?
主要是为了可重用性,部分是为了组织原因。单独的
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
文件。如果您确实愿意,可以单独使用它。
理解urls.py没有任何困难。它用于在项目中创建路由。
路线如:
/home
/users etc.
不必为每个应用程序创建 urls.py。您可以在主项目的 urls.py 中添加所有应用程序路径。这取决于你。
但是为每个应用程序创建 urls.py 看起来很容易理解。
路线定义了您要去的地方,意味着从一条路线到另一条路线。
记住每个视图必须在 urls.py 中有路径。如果没有这个,它就不会出现在网页上。
希望你能理解!
如果你把所有网站的url都放在项目的主urls.py中,文件会变得很长,维护和更改会非常困难,而且你必须将所有视图导入到这个文件中。另一方面,单独的 urls.py 允许您在不同的项目中使用具有不同 URL 模式的同一应用程序。