Django路由简设置与应用
Django路由
路由简单的来说就是根据用户请求的 URL 链接来判断对应的处理程序,并返回处理结果,也就是 URL 与 Django 的视图建立映射关系。
Django 路由在 urls.py 配置,urls.py 中的每一条配置对应相应的处理方法。
Django 不同版本 urls.py 配置有点不一样:
这里使用的是Django2.2版本以上,不再过多叙述。
Django 2.2.x 之后的版本
- path:用于普通路径,不需要自己手动添加正则首位限制符号,底层已经添加。
- re_path:用于正则路径,需要自己手动添加正则首位限制符号。
路由分发(include)
存在问题:Django 项目里多个 app 目录共用一个 urls 容易造成混淆,后期维护也不方便。
解决:使用路由分发(include),让每个 app 目录都单独拥有自己的 urls。
步骤:
1、在每个 app 目录里都创建一个 urls.py 文件。
2、在项目名称目录下的 urls 文件里,统一将路径分发给各个 app 目录。
实例:
一、普通二级路由设置并跳转
先在主路径下的路由(urls)下指定二级路由位置。
指定二级路由和引用模型视图函数
效果演示
二、普通二级路由设置并跳转,显示获取的参数的值
效果演示
三、重定向
效果演示
四、重命名二级路由,并重定向
效果演示
五、取命名空间,反向解析并且重定向,视图模块的视图函数中反向解析
或
效果演示
六、取命名空间,反向解析并且重定向,模板html文件反向解析
在模板 templates 中的 HTML 文件中,利用 {% url "路由别名" %} 反向解析。
效果演示