URL路由的机制

Created with Raphaël 2.2.0url定义、转换、传参、命名等操作views

1 Django的URL路由配置

  1. 路由是关联URL及其处理函数关系的过程。
    创建的settings.py中通过ROOT_URLCONF变量指定全局路由文件名称,一般路由名称与工程名称相同。
  2. Django使用urlpatterns变量名来添加路由,改变量是列表类型,一般有pathre_path组成。

2 Django的URL路由流程

Created with Raphaël 2.2.0Django查找全局urlpatterns变量Django按照先后顺序,对URL逐一匹配urlpatterns的每个元素找到第一个匹配时停止查找,根据匹配结果执行对应处理函数寻找对应的处理函数进行后续处理进行错误处理yesno

注意:Django的路由不考虑HTTP请求方式,仅根据URL进行路由,即只要路由路径相同,无论POST、GET等哪种请求方式都指向同一个操作函数。

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

  • url:表示url或者url模式,Django定义的url转换语法
  • view:处理(视图)函数的名称,包含include函数
  • kwargs:关键字参数,向处理函数提供额外的参数,以字典的形式表示
  • name:给path确定一个具体的名字

3.1 route的url格式转换

类型 说明 示例
精确字符串格式 常规的路径结构。 dir1/dir2
Django转换格式 通过不同参数控制路径,可以将路径保存。 dir1/<str:name>
正则表达式 通过正则表达式控制路径。 dir1/(?P<dir>[0-9]{1}
1) 精确字符串格式
  1. 适合静态单一的路径;
  2. 一个url匹配一个路径;
  3. url不用以/开头,但是要用/结尾;
2) Django转换格式
  1. 一个url模板,匹配一批url的同时,能够获得一批变量名作为参数。
  2. 常用形式,目的是通过url进行参数传递和获取。
  3. 采用<类型:变量名>的形式获取参数。
3)正则表达式

使用re_path函数,两种具体形式:

  • 简单的(pattern),不提取参数:path/([0-9]{4})/
  • 命名模式的(pattern),提取参数,统一为str类型:path/?P<name>[0-9]{4}

3.2 view的使用

  1. 处理函数:views.py处理函数,是url 的最终归宿。
    2)include处理函数:include(other.urls) 包含其他文件的url路径。有两重作用:
    ① 附加本地路由。
    ② 路径去重。

    为了避免系统找不到url,可以进行如下设置:
urlpatterns = [
path('',<根目录路径>)
re_path('^$',<跟目录路径>)
# 二选一即可

Django 一文看懂urls.py与views.py的联系相关推荐

  1. 啤酒和尿布:一文看懂关联规则

    啤酒和尿布:一文看懂关联规则 一.关联规则 二.Apriori算法 2.1 相关概念 2.2 实现步骤 2.3 代码实现 谈到大数据在零售业的应用,不得不提到一个经典的营销案例–啤酒和尿布的故事,有个 ...

  2. 一文看懂 AI 训练集、验证集、测试集(附:分割方法+交叉验证)

    2019-12-20 20:01:00 数据在人工智能技术里是非常重要的!本篇文章将详细给大家介绍3种数据集:训练集.验证集.测试集. 同时还会介绍如何更合理的讲数据划分为3种数据集.最后给大家介绍一 ...

  3. 一文看懂计算机视觉-CV(基本原理+2大挑战+8大任务+4个应用)

    2020-03-06 20:00:00 计算机视觉(Computer Vision)是人工智能领域的一个重要分支.它的目的是:看懂图片里的内容. 本文将介绍计算机视觉的基本概念.实现原理.8 个任务和 ...

  4. 一文看懂人脸识别(4个特点+4个实现步骤+5个难点+算法发展轨迹)

    2020-03-09 20:01:00 人脸识别是身份识别的一种方式,目的就是要判断图片和视频中人脸的身份时什么. 本文将详细介绍人脸识别的4个特点.4个步骤.5个难点及算法的发展轨迹. 什么是人脸识 ...

  5. 一文看懂卷积神经网络-CNN(基本原理+独特价值+实际应用)

    http://blog.itpub.net/29829936/viewspace-2648775/ 2019-06-25 21:31:18 卷积神经网络 – CNN 最擅长的就是图片的处理.它受到人类 ...

  6. 【深度学习理论】一文看懂卷积神经网络

    [深度学习理论]一文看懂卷积神经网络 https://mp.weixin.qq.com/s/wzpMtMFkVDDH6scVcAdhlA 选自Medium 作者: Pranjal Yadav 经机器之 ...

  7. python读取excelsheet-一文看懂用Python读取Excel数据

    原标题:一文看懂用Python读取Excel数据 导读:现有的Excel分为两种格式:xls(Excel 97-2003)和xlsx(Excel 2007及以上). Python处理Excel文件主要 ...

  8. ​【Python基础】一文看懂 Pandas 中的透视表

    作者:来源于读者投稿 出品:Python数据之道 一文看懂 Pandas 中的透视表 透视表在一种功能很强大的图表,用户可以从中读取到很多的信息.利用excel可以生成简单的透视表.本文中讲解的是如何 ...

  9. angular 字符串转换成数字_一文看懂Python列表、元组和字符串操作

    好文推荐,转自CSDN,原作星辰StarDust,感觉写的比自己清晰-大江狗荐语. 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力 ...

  10. 一文看懂深度学习——人工智能系列学习笔记

    深度学习有很好的表现,引领了第三次人工智能的浪潮.目前大部分表现优异的应用都用到了深度学习,大红大紫的 AlphaGo 就使用到了深度学习. 本文将详细的给大家介绍深度学习的基本概念.优缺点和主流的几 ...

最新文章

  1. node-webkit教程(16)调试typescript
  2. innodb中大字段的限制
  3. sysbench mysql 结果_sysbench使用和结果说明
  4. Android开发---Activity的生命周期
  5. ORACLE普通表转换成分区表
  6. 广告主产品推词中的NLP
  7. 钉钉上手体会:阿里实用主义的野望
  8. 刘光聪 | TensorFlow:揭示多语言编程的奥秘
  9. GitHub 添加开源协议
  10. Visual Assist安装完之后的文件复制路径
  11. java系列:引用类型和基本类型
  12. 单片机音频信号分析仪
  13. SYBASE公司的PowerDesigner下载与安装
  14. 阿里云实践案例:使用ECS与OSS搭建个人云盘
  15. 决策树first task之框架搭建和提出问题
  16. Cordova app 检查更新 ----JS进行调用(二)
  17. 清除数据库中所有数据
  18. Malloc源码解读三——Bins与Arena
  19. 【自动驾驶】常见位姿估计算法的比较: 三角测量、PNP、ICP、
  20. ACM训练史上最详细计划(大神养成记)

热门文章

  1. border-shadow
  2. Java-醉汉行走问题
  3. 推荐一本 Bulma 的书《使用Bulma来创建用户界面》
  4. 数据结构PTA 案例6-1.3 哥尼斯堡的“七桥问题”
  5. Eplan P8 2.7 win7/win10 安装(附带资源链接)已更新链接_20210617
  6. Go语言适合做什么?
  7. 名词用作动词举例_动词+名词-动词加名词-名词作动词
  8. nRF52283开发板 基于ble_peripheral\ble_app_blinky demo添加新的私有服务
  9. Linux部署rsyslog日志服务器(主机部分)
  10. python123随机密码生成器_python实例--随机密码生成器