关键词

django中path和url函数的具体使用

在Django中,path和url函数用于先匹配URL并执行相应视图函数。

path函数的使用

语法结构

path(route, view, kwargs=None, name=None)

参数说明

  • route:字符串类型,表示 URL 规则
  • view:处理请求的函数(视图函数), 每个视图都有一个函数视图对应
  • kwargs:字典类型,传递额外的参数给视图函数
  • name:给这个URL起一个别名,可以在模板中使用该别名直接指定URL

示例 1

下面是一个基本的 path 函数示例:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('about/', views.about, name='about'),
]
  • ' ': 表示根URL。
  • 'about/': 表示导航菜单栏中的“About”页面。

示例 2

接下来的示例展示了如何使用path函数传递slug参数:

from django.urls import path
from . views import ProductDetailView

urlpatterns = [
    path('<slug:slug>/', ProductDetailView.as_view(), name='product_detail_url'),
]
  • '<slug:slug>/': 表示动态生成的URL,格式为http://domain.com/slug,其中 <slug:slug> 是一个变量,在视图函数中可以使用该变量查询数据库并显示相应内容。

url函数的使用

语法结构

url(regex, view, kwargs=None, name=None)

参数说明

  • regex:正则表达式字符串或者复合对象
  • view:处理请求的视图函数,每个视图都有一个函数视图对应
  • kwargs:字典类型,传递额外的参数。Django 2.x 以上版本开始不支持该参数,可以将添加的参数放置在视图里。
  • name:给这个URL起一个别名,可以在模板中使用该别名部分指定URL

示例

下面是一个使用url函数定义URL映射的示例:

from django.conf.urls import url
from myapp.views import my_view

urlpatterns = [
    url(r'^archive/$', my_view), 
    url(r'^about/$', my_view),
    url(r'^blog/$', my_view),
]
  • '^archive/$''^about/$''^blog/$': 表示单独URL,使用了正则表达式字符串匹配URL。

总结:path 函数是 Django 引入的一种简化 URL 配置的方式,它直接匹配目录名或者前缀,并将剩余的位传递给应用视图,通常使用path函数;url 函数则使用正则表达式来匹配 URL,并且这两个函数都能用于配置 URL 映射。

本文链接:http://task.lmcjl.com/news/15716.html

展开阅读全文