path定义

path函数的定义为:path(route,view,name=None,kwargs=None)

可以查看官方文档 → 官方文档,下面是取自官方文档关于path的参数

函数 path() 具有四个参数,两个必须参数:route 和 view,两个可选参数:kwargs 和 name。

path() 参数: route

route 是一个匹配 URL 的准则(类似正则表达式)。当 Django 响应一个请求时,它会从 urlpatterns 的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项。
这些准则不会匹配 GET 和 POST 参数或域名。例如,URLconf 在处理请求 https://www.example.com/myapp/ 时,它会尝试匹配 myapp/ 。处理请求 https://www.example.com/myapp/?page=3 时,也只会尝试匹配 myapp/。

path() 参数: view

当 Django 找到了一个匹配的准则,就会调用这个特定的视图函数,并传入一个 HttpRequest 对象作为第一个参数,被“捕获”的参数以关键字参数的形式传入。

path() 参数: kwargs

任意个关键字参数可以作为一个字典传递给目标视图函数。

path() 参数: name

为你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模板中。这个有用的特性允许你只改一个文件就能全局地修改某个 URL 模式。

route几种常用的类型

  • str:非空的字符串类型。默认的转换器。但是不能包含斜杠。
  • int:匹配任意的零或者正数的整形。到视图函数中就是一个int类型。
  • slug:由英文中的横杠-,或者下划线_连接英文字符或者数字而成的字符串。
  • uuid:匹配uuid字符串。
  • path:匹配非空的英文字符串,可以包含斜杠。

re_path定义:

它和path是相同的,但是它的第一个参数传递的是一个正则表达式

#和path相同需要导入re_path
from django.urls import path, re_path
from . import views
urlpatterns = [
        path('canshu/2003/', views.special_case_2003),
        #使用r包裹正则表达式,它是一个原生字符串,可以避免python这一层面转移(不是非要不可)
        re_path(r'canshu/(?P<year>[0-9]{4})/', views.year_archive),
    ]

Python停更,转Java

人生苦短。希望大家能和我交流学习哦。 右侧分类下的每篇文章都有排序方便阅读。