Django 4.2 复习笔记(六)Django的路由

作者:J.sky · 发表于:
2023-05-29T07:59:25.000000Z
· 更新于:
2023-08-13T22:54:57.605618Z
· Tag: Django

在Django中,路由由URL模式和视图函数组成。URL模式定义了URL的结构和匹配规则,而视图函数则定义了当URL匹配时要执行的代码逻辑。Django的路由系统允许你根据URL的不同部分进行模式匹配,并从URL中提取参数传递给视图函数。

# myapp/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
    path('about/', views.about, name='about'),
    path('post/<int:post_id>/', views.post_detail, name='post_detail'),
]

在上面的示例中,我们定义了三个URL模式:

  1. 空路径:path('') 将映射到 views.home 视图函数,表示应用程序的主页。
  2. about/路径:path('about/') 将映射到 views.about 视图函数,表示关于页面。
  3. post/int:post_id/路径:path('post/<int:post_id>/') 将映射到 views.post_detail 视图函数,并将URL中的post_id作为参数传递给该视图函数。这个URL模式使用了尖括号(< >)来标记参数部分,并指定了参数的类型为整数(int)。 在上述示例中,urlpatterns列表定义了应用程序的所有URL模式。每个URL模式由path函数定义,接受两个参数:第一个参数是URL模式的字符串表示,第二个参数是要调用的视图函数。你还可以为每个URL模式指定一个名称(name),以便在代码中引用它们。

通常,你需要在项目的主路由文件中包含应用程序的URL配置。例如,如果你的应用程序名为myapp,你需要在项目的主路由文件中包含以下内容:

# project/urls.py

from django.urls import include, path

urlpatterns = [
    path('myapp/', include('myapp.urls')),
]

上述示例中,include函数用于将myapp/urls.py文件中定义的URL模式包含到主路由文件中。这样,当用户访问/myapp/路径时,Django将使用应用程序的URL配置来处理该请求。

这只是Django路由系统的基本介绍。Django还提供了其他高级功能,如正则表达式匹配、命名空间等。通过使用Django的路由系统,你可以轻松地定义URL模式,并将它们与相应的视图函数关联起来,从而构建功能完整的Web应用程序。

相关参考:

Django URL调度器