我正在做一个Django项目,我了解到我们需要为项目中创建的每个应用程序创建一个urls.py文件。有没有人能告诉我们这样做的目的是什么,因为我们有一个主项目的urls.py文件,这还不够吗?
urls.py
e7arh2l61#
主要是为了可重用性,部分是出于组织原因。单独的urls.py文件允许Django应用程序在项目之间可移植。如果您使用urls.py发布应用程序,那么它可以轻松地在许多不同的Django项目中使用。这在官方教程的Reusable Apps部分中有所介绍。例如,Admin站点由Django自带的可重用admin.site应用程序提供。admin.site应用程序提供自己的urls.py文件,因此您可以轻松地添加到您自己的项目的url模式。就像这样:
admin.site
urlpatterns = [ path('admin/', admin.site.urls), # ... ]
字符串如果admin.site应用程序没有自己的urls.py文件,这是不可能的。管理应用程序只是一个例子。有许多应用程序都是在PyPI上分发的,并且可以使用pip安装。也就是说,这不是完全必要的。就像你指出的,有一个项目级的urls.py文件。如果你真的想,你可以单独使用它。
pip
yqyhoc1h2#
理解urls.py并不难。它用于在项目中创建路由。路线如:
/home /users etc.
字符串这不是强制性的为每个应用程序创建urls.py。您可以在主项目中的urls.py中添加所有应用程序路径。这取决于您。但是为每个应用程序创建urls.py看起来很容易理解。路线定义了你要去的地方,意思是从一条路线到另一条路线。请记住,每个视图都必须在urls.py中有路径。没有这个,它将不会出现在网页上。希望你能理解!
c90pui9n3#
如果你把所有的网站网址都放在urls.py
3条答案
按热度按时间e7arh2l61#
主要是为了可重用性,部分是出于组织原因。单独的
urls.py
文件允许Django应用程序在项目之间可移植。如果您使用urls.py
发布应用程序,那么它可以轻松地在许多不同的Django项目中使用。这在官方教程的Reusable Apps部分中有所介绍。例如,Admin站点由Django自带的可重用
admin.site
应用程序提供。admin.site
应用程序提供自己的urls.py
文件,因此您可以轻松地添加到您自己的项目的url模式。就像这样:
字符串
如果
admin.site
应用程序没有自己的urls.py
文件,这是不可能的。管理应用程序只是一个例子。有许多应用程序都是在PyPI上分发的,并且可以使用
pip
安装。也就是说,这不是完全必要的。就像你指出的,有一个项目级的
urls.py
文件。如果你真的想,你可以单独使用它。yqyhoc1h2#
理解urls.py并不难。它用于在项目中创建路由。
路线如:
字符串
这不是强制性的为每个应用程序创建urls.py。您可以在主项目中的urls.py中添加所有应用程序路径。这取决于您。
但是为每个应用程序创建urls.py看起来很容易理解。
路线定义了你要去的地方,意思是从一条路线到另一条路线。
请记住,每个视图都必须在urls.py中有路径。没有这个,它将不会出现在网页上。
希望你能理解!
c90pui9n3#
如果你把所有的网站网址都放在urls.py