一、path函数

  • 导入:from django.urls import path

  • 语法:path(route,views,name=Node)

  • 参数:

    • route:字符串类型,匹配的请求路径
    • views:指定路径所对应的视图处理函数的名称
    • name:为地址起别名,在模板中地址反向解析时使用
  • 练习:建立一个小网站

    • 输入网址:http://127.0.0.1:8000,在网页中输出:这是我的首页
    • 输入网址:http://127.0.0.1:8000/page/1,在网页中输出:这是编号为1的网页
    • 输入网址:http://127.0.0.1:8000/page/2,在网页中输出:这是编号为2的网页

    代码:

  • 思考:建立上百个网页该怎么办?

    例如:http://127.0.0.1:8000/page/3

    ​ http://127.0.0.1:8000/page/4

    ​ ···

    ​ http://127.0.0.1:8000/page/100

二、path转换器

针对上面的问题,可以使用path转换器

  • 解决:path转换器

    • 语法:<转换器类型:自定义名>
    • 作用:若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给视图函数
    • 例子:path('page/\<int:page>',views.xxx)
  • path转换器类型

    转换器类型 作用 样例
    str 匹配除了’/'之外的非空字符串 "v1/user/<str:username>":匹配va/users/guoxiaonao
    int 匹配0或者任意正整数。返回一个int "page/<int:page>":匹配/page/100
    slug 匹配任意由ASCII字母或数字以及连字符和下划线组成的短标签 "detail/<slug:sl>":匹配/detail/this-is-django
    path 匹配非空字段,包括路径分隔符’/’ "v1/user/<path:ph>":匹配v1/goods/a/b/c
  • 测试:

  • 练习:小计算器

    定义一个路由的格式为:http://127.0.0.1:8000/整数/操作字符串[add/sub/mul]/整数

    • 从路由中提取数据,做相应的操作后返回给浏览器

    • 效果如下:

      输入:http://127.0.0.1:8000/100/add/200

      页面显示结果:300

    • 代码:

    • 结果:

三、re_path()函数

  • 在url的匹配过程中,可以使用正则表达式进行准确匹配

  • 语法:

    • re_path(req, view, name=xxx)
    • 正则表达式为命名分组模式(?P<name>pattern);匹配提取参数后用关键字传参方式传递给视图函数
  • 样例:

    # 可匹配: http://127.0.0.1:8000/20/mul/40

    # 不可匹配: http://127.0.0.1:8000/200/mul/400

    urlpatterns=[path('admin/',admin.site.urls),re_path(r'^(?P<x>\d{1,2})/(?P<op>\w+)/(?P<y>\d{1,2})$',views.cal_view),
    ]
    
  • 代码:

  • 结果:

  • 练习:

    访问地址:

    http://127.0.0.1:8000/birthday/四位数字/一到两位数字/一到两位数字

    http://127.0.0.1:8000/birthday/一到两位数字/一到两位数字/四位数字

    最终输出:

    生日为:xxxx年xx月xx日

    效果样例:

    http://127.0.0.1:8000/birthday/2015/12/11

    显示为:生日为:2015年12月11日

    http://127.0.0.1:8000/birthday/2/28/2008

    显示为:生日为:2008年2月28日

    代码:

04. Django基础:路由配置相关推荐

  1. django urls路由配置

    学习django的路由配置时一般会用到两个函数path和re_path,re_path可以结合正则,在使用过程中我发现两个需要注意的点: 1.urls在查询路由的时候接收到的路由均是以字符串形式传递的 ...

  2. Ubuntu 18.04 LTS 永久路由配置指导

    一.方式一: Netplan 已在在 Ubuntu 18.04 系统中用来管理网络,它是一款是一个用于配置 Linux 网络的简单工具. 通过 Netplan ,只需用一个 YAML 文件就可描述每个 ...

  3. Django url路由配置的两种方法

    前言 例如:Django是python提供的web框架,可以快速方便的搭起一个系统,而url配置也是学习Django的第一步. 提示:以下是本篇文章正文内容,下面案例可供参考 一.直接在总路由配置 二 ...

  4. django 基础安装配置流程

    1.django各个版本的兼容关系: 图片来源:Django 版本和 Python 版本的对照关系_化雨随风的博客-CSDN博客_django和python版本对应 我选择的是django3.2.9版 ...

  5. Django基础-安装配置

    2019独角兽企业重金招聘Python工程师标准>>> 安装 Django Python下载地址:https://www.python.org/downloads/ Django下载 ...

  6. Django(路由配置)

    path()函数 导入 from django.urls import path 语法 path(route,views,name=None) 参数: 1.route:字符串类型,匹配的请求路径 2. ...

  7. Day47 Django基础部分、路由配置、空间名称

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

  8. Django基础--Django基本命令、路由配置系统(URLconf)、编写视图、Template、数据库与ORM...

    web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构. 使用框架可以帮你快速开发特定的系统. 简单地说,就是你用别人搭建好的舞台来做表演. 尝试搭建一个简单 ...

  9. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)

    阅读目录 摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大 ...

  10. python路由编程_Python Django基础二之URL路由系统

    MVC和MTV框架 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负责业务 ...

最新文章

  1. 从网上找到一个清晰CSS视频教程和大家分享一下
  2. 未来编程语言的发展方向(1)
  3. vue+mintUI搭建移动端新闻类网站
  4. #1064 - You have an error in your SQL syntax; version for the right syntax to use near '' at line
  5. Leetcode每日一题:649.dota2-senate(Dota2参议院)
  6. mysql int 判断_PHP通过PDO查MySQL查询int字段返回string类型,解决方案
  7. 如何在 OpenResty 中使用 websocket
  8. 内存模型以及分区,需要详细到每个区放什么
  9. 密码要包含大小写字母+数字+符号,提这个建议的人刚刚承认他错了
  10. 也谈360软件是否可靠
  11. 一文搞懂网卡驱动的原理与移植方法
  12. SpringMVC框架|Handler处理器的三种写法
  13. 【EMNLP 2021】SimCSE:句子嵌入的简单对比学习 【CVPR 2021】理解对比学习损失函数及温度系数
  14. 用python发送put请求
  15. 怎么搭建个人私有网盘(高速企业网盘源码平台搭建教程)
  16. 一道不一样的前端架构师最终面试题
  17. 数据泵(一)-基本概念
  18. vue开发:移动端图片上传
  19. 【运维面试】面试官: jar包和war包有什么区别?
  20. Super PI linux 版本最新可用

热门文章

  1. 2.tcpdump(2)
  2. 50.magento 订单状态
  3. 94. autoload
  4. 23. PHP include and require 文件
  5. 开源Web安全测试工具调研
  6. 编写iPhone应用程序有何不同
  7. 软件工程第0次作业 | 热身
  8. FPGA实现“打字机”(VGA UART)
  9. STM32的备份寄存器和控制状态寄存器
  10. 手动修改Sublime Text2 边栏Sidebar的样式