Django4全栈进阶之路9 url路由设置

发布时间 2023-04-23 21:42:06作者: 城南城南

在 Django 4 中,可以在主路由文件中设置和管理子路由。通常,我们会为每个应用程序创建一个子路由文件,以便更好地组织代码和管理路由。

以下是 Django 4 中设置主路由和子路由的示例:

首先,在主路由文件 urls.py 中导入子路由,并将其添加到 urlpatterns 中:

# urls.py
from django.urls import include, path

urlpatterns = [
    # ... 其他 URL 模式 ...
    path('MyApp/', include('MyApp.urls')),
]

这个例子中,我们将 myapp.urls 子路由文件的路径设置为 myapp/,这意味着所有以 /myapp/ 开头的 URL 都将被分派给 myapp.urls 中的视图处理。

接下来,在 myapp 应用程序中创建子路由文件 urls.py,并设置其路由:

# myapp/urls.py
from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('about/', views.about, name='about'),
    # ... 其他 URL 模式 ...
]

在这个例子中,我们定义了两个 URL 模式,一个是空 URL 模式,将会被映射到 views.index 视图函数,另一个是 /about/ URL 模式,将会被映射到 views.about 视图函数。

注意,这里的视图函数是在 myapp 应用程序中定义的,因此需要在 myapp 应用程序的 views.py 文件中创建它们。

最后,我们需要在应用程序的 views.py 文件中定义视图函数:

# myapp/views.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the index.")

def about(request):
    return HttpResponse("This is the about page.")

现在,我们就可以通过访问 /myapp//myapp/about/ 来访问我们在 myapp 应用程序中定义的视图函数了。

需要注意的是,这个例子只是一个简单的示例,实际上,子路由文件可以包含更复杂的路由和视图函数。另外,需要在主路由文件中正确地导入和包含子路由文件,以确保 Django 能够正确地找到路由和视图函数。