服务器处理网址的请求流程

》一个网址请求服务器,通过浏览器

》服务端,项目中的urls.py来处理这个请求

通过路由对应关系,匹配网址与对应视图函数的关系

如果一个网址匹配成功,那么就由它所对应的视图函数来处理功能

》视图函数的处理一般要操作两个部分

1,取数据

与数据库的连通, 通过orm来操作数据库(增删改查)

2,展现数据

主要通过render函数来操作

格式

render(请求对象,模板文件,传输的数据)

最终把render进行返回

重点关注urls.py这个文件

文件的功能

请求路径与视图函数的对应关系

常用的方法

》path()

完全匹配

path('car/', views.car),

》re_path()

  • 导入
    from django.urls import re_path

  • 使用

格式

re_path(正则表达式,视图函数)

请求网址路径中只要有cat,匹配成功

re_path(r"cat",视图函数)

效果:

当用户访问

127.0.0.1/abcatefg/

演示:

路由


视图

效果:


当前的效果

只要请求的路径里包含cat,就可以对应上视图函数

只允路径刚好为cat的时候进来

》思路,限定路径的开头和结尾

限定以c开头,限定以t结尾

正则匹配的内容写死,刚好就写成cat

正则式

效果与分析

一,


参与匹配的路径是

cat

该路径会和正则中的,匹配

二,

为什么不成功?

因为当前参与匹配的字符串是

cat/

它与正则式 r’^cat$’ 不能匹配成功

所以进不了对应的视图,报404错误

实现cat/123这种格式的匹配

要求,必需有cat开头,必需以数字结束

正则路由的写法

效果

实现cat/任意多的数字的匹配

只需要把数字那里的位置写成正则式就可以了


当前正则式的意思是

以cat开头

以数字结尾($在修饰\d)

数字可以是一次或者多次出现, 因为有加号

效果

结尾为非数字,就报错

另一例

获取路径中的数据,获取cat/123路径中的123

想要在后端拿到这串数字

》办法

一,在正则表达式中,把要获取的内容,用括号包起来

二,括号中包的内容,会作为位置参数,传递给视图函数

获取一个动态的数据,cat/数字,要获取这个串数字

用括号把要获取的数据的正则式包起来

当前用\d匹配一切数字

用+对\d进行限定,表明至少得有一个或者无数个

正则式:

视图:

结果:

练习

目标

拿到cat/ 和 /123 之间包裹的内容

比如:下面的路径,要拿hello

下面的路径要拿python

django-路由-通过正则表达式来捕获路径-对应视图函数相关推荐

  1. Python框架篇之Django(路由系统URL、视图函数views)

    文章目录 一.路由系统(URL) 二.视图函数(views) 一.路由系统(URL) 1.URL配置 (URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用 ...

  2. Django路由(urls.py)

    Django路由(urls.py) 路由控制着视图函数的调用.即发起的请求所包含的路由就对应着Django会调用该路由所对应的视图函数.所以,综合来看,在Django中的视图+路由才应该是等价于MVC ...

  3. Django 3.2.5博客开发教程:URL与视图函数

    在讲URL与视图函数之前我们先给大家简单介绍一下用户访问网站的流程.我们访问一个网站的时候,一般先打开浏览器,然后在浏览器的地址栏里输入一个网址,也就是URL,然后回车,我们就可以在浏览器里看到这个网 ...

  4. django 1.8 官方文档翻译: 3-1-2 编写视图

    Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质. 交流群:467338606 网站:http://python.usyiyi.cn/django/index.html ...

  5. 关于Django路由层简单笔记

    Django-路由层 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个U ...

  6. Django 路由层

    Django的下载与基本命令 下载Django:pip3 install django==2.0.1 创建一个django project: django-admin startproject luf ...

  7. Django路由控制

    一 Django中路由的作用 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来 ...

  8. Django路由写法

    DjangoURL调度器 – 潘登同学的后端笔记 文章目录 DjangoURL调度器 -- 潘登同学的后端笔记 工作原理 请求参数 自定义路径转换器 直接写正则路径re_path() 错误处理 引入其 ...

  9. 05 django路由层

    路由 顾名思义,就是指路牌,请求过来根据指路牌的指示指向不同的视图函数. 路由层主要掌握: re_path正则匹配路径: 满足条件的都走同一个视图函数,多用在请求数据,比如图书馆,那一个书架哪一本书, ...

最新文章

  1. linux命令history
  2. 78. Leetcode 264. 丑数 II (堆-技巧二-多路归并)
  3. spark如何解决文件不存在_Spark Read.json无法找到文件
  4. Scenario 7 – HP C7000 VC FlexFabric Tunneled VLANs and SUS A/A vSphere
  5. Java基础知识——Java集合详解
  6. 去掉网页上链接或按钮的虚线框
  7. apache配置多https域名对应单个证书和多个不同的https域名对应多个不同的证书
  8. Archlinux 简明安装指南
  9. [原]无法删除openstack nova的image instance
  10. FireEye 红队失窃工具大揭秘之:分析复现 Confluence路径穿越漏洞 (CVE-2019-3398)
  11. 重磅!中国科协发布2020重大科学问题和工程技术难题
  12. css用户界面样式(附实例、图解)
  13. ktv收银管理系统服务器,KTV包厢收银管理系统增强版
  14. 树莓派mjpg-streamer+内网穿透
  15. GitHub上传项目以及修改(仅供自己记录学习)
  16. 知乎上48个神回复,真心值得一看!
  17. Yii 发送电子邮件
  18. javascript 符号_掌握javascript es6符号
  19. 计算机科学与技术(云计算方向),2019年枣庄学院本科计算机科学与技术(云计算方向)...
  20. js 时间格式字符串去掉中间的中横线

热门文章

  1. 配置Sourcetree实现代码托管、分支合并、分支删除、版本控制 - 教程篇
  2. vue-resource网络请求模块(安装教程) - cmd篇
  3. linux mongodb启动_linux运维服务篇:MongoDB部署教程分享
  4. 海洋CMS仿爱美剧网站模板源码
  5. 梨花带雨播放器程序开源版本
  6. 合同电子档备份-NXCRM客户管理系统v2.2.5
  7. MiniFrameworkPHP开源框架
  8. Moodle: 查询任意数据库
  9. magento: configurable 显示所有属性及获取 Json Config how to get Json Config by product id
  10. jquery实现的视差滚动教程(视差大背景效果)