- 初识path()方法
Django 2.0 可谓是 Django 的里程碑版本,主要变化是新增了 path 函数来进行路由的匹配,可通过以下方式进行导入:
但是之前的 url 模块并没有废止,只是 Django 强烈建议我们使用新模块 path 进行路由的匹配。从对比可以看出 Django 2.0 简化了路由 path 的导入方法。
1) path()方法函数定义
path 函数在 Django中的的定义如下所示:
它可以接收 4 个参数,其中前两个是必填参数后两个为可选参数。参数解析如下:
它可以接收 4 个参数,其中前两个是必填参数后两个为可选参数。参数解析如下:
1.route
route 是一个匹配 URL 的准则(类似正则表达式)。当 Django 响应一个请求时,它会从 urlpatterns 的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项,然后执行该项映射的视图函数或者 include 函数分发的下级路由,因此,url 路由的编写在 Django中十分的重要!
2.view
view 指的是处理当前 url 请求的视图函数。当 Django 匹配到某个路由条目时,自动将封装的 HttpRequest 对象作为第一个参数,被“捕获”的参数以关键字参数的形式,传递给该条目指定的视图函数。
3.kwargs
kwargs 指使用字典关键字传参的形式给关联的目标视图函数传递参数。
4.name
name 给 URL 起个别名,常用于 url 的反向解析,避免在模板中适应硬编码的方式使用嵌入 url。
2. path方法类型转化器
事实上,在浏览很多页面的时候, 我们都会发现有些页面url中的某些参数是我们传入的, 比如在翻页的时候, 就存在 page_1, page_2 这样的字段,页数多的甚至还有 page_999 , 那这总不可能是我们一个个输入的把?
这个时候就需要用到django的参数接受转换器了
Django 默认支持 5 个类型转换器,在大多数情况下,绝对可以满足我们的正常业务需求,如果不能,Django 同样提供了自定义转换器。下面介绍 Django 默认支持的转换器,如下所示:
str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式;
int,匹配正整数,包含0;
slug,匹配字母、数字以及横杠、下划线组成的字符串;
uuid,匹配格式化的 uuid,如 075194d3-6885-417e-a8a8-6c931e272f00;
path,匹配任何非空字符串,包含了路径分隔符。
用法如下:
1.在myapp目录下的views.py文件下放入函数
- 在myapp目录下的urls.py文件下这样用path()函数
(ps:注意<int:num>中的num形参要与section函数中的接受数据的形参要相同)
此时打开浏览器输入如下,就能发现参数传过去啦。