Django路由系统

Django 路由系统详解 Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、实用的设计。在 Django 中,路由系统是其核心组件之一,负责将用户的请求映射到相应的视图函数或类。本文将深入探讨 Django 的路由系统,包括其工作原理、配置方式以及高级功能。 阅读详情

1、路由系统基本格式
urlpatterns = [
path( 要匹配的路径(可以是正则表达式), 视图函数, 参数, 别名)
2、参数说明
(1)正则表达式:一个正则表达式字符串
(2)视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
(3)参数:要传递给视图函数的默认参数(字典形式,可选)
(4)别名:一个可选的name参数
3、正则表达式详解
(1)在python中使用 re_path模块来写正则表达式
(2)正则表达式的开始使用“^”表示。
(3)正则表达式的结束使用“$”表示。
(4)“r” 元字符串 防止正则表达式中的转义。
小练习:
路由:

from django.contrib import admin
from django.urls import path,re_path
from Django03 import views
urlpatterns = [
    path('admin/', admin.site.urls),
    re_path(r'^laowang4/$',views.laowang4),#初始正则匹配表达式
    re_path(r'^$',views.laowang5),#匹配空路径http://127.0.0.1:8000/
    re_path(r'^laowang6',views.laowang6),#不设置结尾的情况

视图函数

def laowang4(request):
    return render(request,'laowang4.html')
def laowang5(request):
    return render(request,'laowang5.html')
def laowang6(request):
4、正则表达式分组及分组命名匹配

(1)分组匹配:
正则表达式分组匹配是通过小括号”()”来捕获URL中的值并以位置参数形式传递给视图。

 re_path(r'^laowang8/(\d+)/$',views.laowang8),
    #\d表示任意数字,+表示数字至少出现一次

视图函数:

def laowang8(request,num):
    """

    :param request:
    :param num: 接受url中传过来的参数
    :return:
    """
    print(num)
    return render(request,'laowang8.html')

注意:视图函数接受的是内容时字符串类型。

(2)分组命名匹配:

分组命名正则表达式组的语法是(?Ppattern),
其中name是组的名称,pattern是要匹配的模式。
捕获的值作为关键字参数而不是位置参数传递给视图函数。

re_path(r'^laowang9/(?P<year>[0-9]{4})/$',views.laowang9),#{4}表示前面的数字出现的次数,只有四次。
re_path(r'^laowang10/(?P<year>[0-9]{4})/(?P<mouth>[0-9]{2})/$', views.laowang10),

视图函数

def laowang9(request,year,mouth):
    """

    :param request:
    :param num: 接受url中传过来的参数
    :return:
    """
    print(year)
    return render(request,'laowang9.html')

def laowang10(request,year,mouth):
    """

    :param request:
    :param num: 接受url中传过来的参数
    :return:
    """
    print(year,mouth)
    return render(request,'laowang10.html')

5、视图函数中指定默认值

 re_path(r'^laowang11/(?P<year>[0-9]{4})/$', views.laowang11),

6.视图函数传递额外参数

re_path(r’^laowang12/(?P[0-9]{2})/$’, views.laowang12,{‘year’:‘2019’}),

视图函数

def laowang11(request,year=2019):
    print(year)
    return render(request,'laowang11.html',{'year':year})

传递额外参数的视图函数

def laowang12(request,month,year):
    print(year,month)
    return render(request,'laowang12.html',{'year':year,'month':month})

7、Url反向代理(别名)
使用url反向代理,解决硬编码问题。
不使用反向代理:
浏览器访问index9,返回index9页面,点击超链接访问index10页面。

  #url反向代理
    re_path(r'^laowang13/$', views.laowang13),
    re_path(r'^laowang141/$', views.laowang14,name='lw14'),
#url反向代理传参数
    re_path(r'^laowang15/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$', views.laowang15, name='lw15'),

]

视图函数

def laowang13(request):
    return render(request,'laowang13.html') def laowang14(request):
    return render(request,'laowang14.html') def laowang15(request,year,month):
    print(year,month)
    return render(request,'laowang15.html')
Django路由系统精讲 Django路由系统精讲 在前一节中,我们对 URL 有了基本的认识,在本节将对 Django 的路由系统展开详细的讲解, 让我们更加清楚的了解 URL 在 Django 中到底是如何应用的。 1. Django 路由系统应用 一个用户向 Web 站点发送请求,是通过 URL 实现的,当 Web 服务器端接收到用户请求后,它又是怎么处理的呢?通过 MTV 的设计模式,我们可以得知,首先用户请求会到达相应的视图函数,那么视图函数又是怎样找到相应的访问资源的呢,在这里就用到了“路由系统”。 Django 中利用 阅读详情

相关推荐

从零实现地震波场模拟:交错网格有限差分法核心代码精讲

本文详细介绍了从零实现地震波场模拟的核心技术,重点讲解了交错网格有限差分法的实现过程。通过速度-应力弹性波方程的离散化处理,结合代码实例演示了应力与速度更新的关键步骤,并分享了震源加载、稳定性条件等实用技巧,为计算地球物理学研究提供实践指导。

weixin_42556197的博客 410

Django的路由

关于Django的路由的讲解与实战

weixin_45889347的博客 1680

ROS新手必看:如何用URDF快速搭建UR5机械臂模型(附完整代码)

本文为ROS新手提供了一份详细的UR5机械臂URDF建模实战指南。通过解析URDF核心概念,逐步讲解如何定义link与joint,并整合官方网格文件,最终构建出完整的、可在RViz中可视化与控制的UR5模型。文章还介绍了模型验证、调试技巧以及如何添加碰撞与惯性属性,为后续的物理仿真与算法开发奠定坚实基础。

pz89012345的博客 499

[Django] 路由系统

本文主要讲解URL的含义与组成部分、Django路由系统的基础知识

Hudas的博客 754

QT编程系列1--QT学习前需知

本周学习了一些QT编程方面的知识,学写了几个程序,这里把记录下来。一方面对前面学习的知识做一个总结,便于以后复习、再学习和应用;另一方面也和大家做个交流,有不足的地方请各位看官多指点。   首先是做一些学习之前的交代:一,学习QT需要哪些基础;二,学习QT有哪些用途,QT较其他的开发工具有哪些特点;三,学习QT的思路。

霜月孤鸟&RTEMS&TinyOS 1117

oracle合并行---解决listagg 拼接字段返回过长 (Ora-01489 result of String concatenation is too long)

oracle合并行---解决listagg 拼接字段返回过长 (Ora-01489 result of String concatenation is too long)

清影的博客 6285

django admin中html页面在哪里_Django路由系统精讲

在《URL是什么》一节中,我们对 URL 有了基本的认识,在本节将对 Django 的路由系统展开详细的讲解, 让我们更加清楚的了解 URL 在 Django 中到底是如何应用的。1. Django 路由系统应用一个用户向 Web 站点发送请求,是通过 URL 实现的,当 Web 服务器端接收到用户请求后,它又是怎么处理的呢?通过 MTV 的设计模式,我们可以得知,首先用户请求会到达相...

weixin_34547883的博客 1207

SAP数据导入工具(LSMW) 超级详细教程(批量导入内部订单)

用户提了个需求,让我批量导入内部订单几百个内部订单。我本打算用写段ABAP 代码来调用 BAPI (BAPI_INTERNALORDER_CREATE)就可以了。但想到我很久没有用过LSMW 了,都快要忘记了。于是我采用LSMW的方式,完成了任务。并把过程记录下来,形成教程方便我以后回头查看,分享出来也希望对大家有帮助。

IT小职员 2万+

Django之路由系统(URL)

URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 在Django2.0以下的版本中,其格式为 urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说明: 一个正则表达式字符串 一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串 可选的要传递给视图函

weixin_41012767的博客 412

【Get深一度】小波分析概念1——紧支撑集是什么意思,通俗解释

最近学到小波,在仿真中也用到了紧支撑函数;紧支撑性越好,说明能量越集中;用最通俗的话来讲,紧支撑是这样的: 对于函数f(x),如果自变量x在 0附近的取值范围内,f(x)能取到 C; 而在此之外,f(x)取值为 0; 那么这个函数f(x)就是紧支

Trey_优快云 的优快云博客 8349

GEE聚类分析:基于sentinel-2 影像进行 K-Means 聚类分析

这篇博客介绍了如何使用 Google Earth Engine (GEE) 进行 K-Means 聚类分析,以识别感兴趣区域(ROI)内的不同地表覆盖类型。文章详细说明了从定义用户参数、准备参考区域、加载和预处理 Sentinel-2 图像,到训练 K-Means 聚类器并对图像进行聚类的完整流程。代码示例展示了如何设置参数、采样像素数据、训练聚类器,并将结果可视化。最后,还提供了将聚类结果导出到 Google Drive 的选项。通过该教程,用户可以掌握在 GEE 平台上进行地理数据聚类分析的基本方法。

此星光明博客 263

Django 中的路由系统

在 Django 中,路由(URL routing)就像是 Web 应用的 “交通枢纽”,它定义了 URL 模式与视图函数之间的对应关系。当客户端发起一个 HTTP 请求时,Django 会根据预先配置的 URL 模式,在路由表中进行匹配。一旦找到匹配的 URL 模式,就会调用对应的视图函数来处理请求,并返回响应。​Django 的路由系统功能强大且灵活,通过合理配置 URL 模式,可以实现复杂的 Web 应用逻辑。

2201_75786273的博客 1641

从 Material Requirements Planning 看 SAP 物料计划的底层控制逻辑

文章摘要:SAP中的MRP(物料需求计划)不仅仅是运行一个程序(如MD01N),其关键在于主数据和组织层级的正确配置。MRP的核心是解决"何时需要多少物料"的问题,涉及采购、生产、库存等多种供应来源。物料主数据的MRP视图必须在组织层级(如工厂、存储位置)下维护,不同层级的计划逻辑可能完全不同。S/4HANA更强调MRP Area作为细分计划单位,取代传统存储位置MRP。实施时需注意MRP Profile的合理使用,避免批量错误,并特别关注物料生命周期管理(如停用物料和替代件),这些因素共同决定了MRP能否

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1417

Django:路由系统

1、路由系统基本格式 urlpatterns = [ path( 要匹配的路径(可以是正则表达式), 视图函数, 参数, 别名) 2、参数说明 (1)正则表达式:一个正则表达式字符串 (2)视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串 (3)参数:要传递给视图函数的默认参数(字典形式,可选) (4)别名:一个可选的name参数 3、正则表达式详解 (1)在pyth...

小小争520 1498

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Django的路由系统

Django的路由系统 Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。 你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 URLconf配置 基本格式: from django.conf.u...

weixin_40782004的博客 178

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

django 路由系统

目录 django 路由系统 路由是什么? 分组 命名分组 (建议使用命名分组) 指定默认值 include 路由分发 命名URL 和 URL反向解析 命名空间模式 djang...

anzhilan7823的博客 227

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

7、Django进阶:Django路由系统精讲:揭秘Django的路由系统从URL映射到视图处理的全过程(必掌握)

对路由系统的定义和URL的模式做了介绍。 详细介绍了Django路由系统的定义与使用,包括URL映射与路由匹配、参数传递与命名URL等内容。 介绍了URLconf的配置和使用方法、URL的名称和反向解析,以及URL的参数。 通过合理配置路由系统,我们能够实现灵活的URL映射和请求分发。 通过include实现URLconf的嵌套 Django路由系统的应用示例。 URL的映射和路由匹配,以及路由系统的一个最佳实践。 本文的最后一节总结了Django的三种路由配置方式:path()、re_path()

SteveRocket's-Blog 1122

Django:路由系统总结

django三大系统:路由系统,视图系统,模板系统 路由系统 1.路由系统的作用: 匹配url路径,执行对应的视图函数。 2.路由系统的基部格式: Urlpattens=[ path(‘url路径’, 视图函数名称,默认参数(字典类型),别名(url反向代理)) ] 注,地址栏输入路径时,最后一个 / 浏览器默认加上,自己可加可不加 3.使用正则表达式 (1)使用 from django.url...

feixingyuanhongzhu的博客 364

Django:路由系统

Django:路由系统 路由系统理解 1、系统功能:根据用户访问的不同url,执行对应的视图函数 2、web服务器可以根据用户访问的url地址的不同,返回相应的html页面,而html的页面渲染由视图函数处理,这就需要有一个模块负责分析用户访问的url地址,并根据预先定义的映射规则,将请求分发到不同的视图函数中进一步处理,负责这个工作的模块就是web框架中的路由系统。路由系统的工作总结起来就...

不怕猫的耗子z 581

Django-视图、路由系统

Django的视图和路由系统为开发者提供了一个灵活、可扩展的方式来处理用户请求和生成响应。通过定义视图函数或类视图,并将其与URL模式进行匹配,开发者可以实现各种功能丰富的Web应用程序

Kongqingpeng11的博客 551

第二章 Django URL路由系统

django路由系统就是URL路径和视图函数的一个对应关系,也可以称为转发器。

XMYX-0 1637

django路由系统

参考博客:https://www.cnblogs.com/liwenzhou/p/8271147.html Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。 你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个UR...

weixin_30553837的博客 151

Django中的路由系统

Django的路由系统 ​  URL配置(URLconf)就像Django所支撑网站的目录。他的本质是URL与要为该URL调用的视图函数之间的映射表(映射关系) ​  简单来说,就是前端(浏览器)像哪个URL发起请求,就执行与该URL对应的函数来回应请求。 1. URLconf配置 1.1 基本格式 from django.conf.urls import url urlpatterns = [...

qq_31851107的博客 318
上一篇: Django框架模块系统---视图函数----简单应用
下一篇: http和https的区别
Mis相遇
博客等级 码龄8年 87粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值