一周学会Django5 Python Web开发-Django5路由变量

锋哥原创的Python Web开发 Django5视频教程:

2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计22条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV14Z421z78C/在平时开发中,有时候一个路由可以代表多个不同的页面,比如博客系统里面,有1千个博客页面,按照前面学习的方式,需要写1千个路由才能实现,这种做法显然不可取,维护也麻烦。我们可以通过路由变量,来实现一个路由代表多个页面。

路由的变量类型有字符类型、整型、slug 和 uuid,最为常用的是字符类型和整型。各个类型说明如下。

  • 字符类型:匹配任何非空字符串,但不含斜杠。如果没有指定类型,就默认使用该类型。

  • 整型:匹配О和正整数。

  • slug:可理解为注释、后缀或附属等概念,常作为路由的解释性字符。可匹配任何ASCII字符以及连接符和下画线,能使路由更加清晰易懂。比如网页的标题是“15岁的孩子”,其路由地址可以设置为“15-sui-de-hai-zi”。

  • uuid:匹配一个uuid格式的对象。为了防止冲突,规定必须使用“”并且所有字母必须小写,例如175194d3-6885-437e-a8a8-6c231e272f00。

下面列举实例一 博客帖子请求:

首先urls.py里定义路由映射:

path('blog/<int:id>', helloWorld.views.blog)

views.py里再定义blog函数实现:

def blog(request, id):return HttpResponse('id是' + str(id) + "的博客页面")

这样,我们就实现了一个带变量的路由的多个博客页面的实现。

当然我们也可以带多个路由变量。让博客的路由地址,在带上年月日变量。

urls.py修改

path('blog2/<int:year>/<int:month>/<int:day>/<int:id>', helloWorld.views.blog2)

views.py修改

def blog2(request, year, month, day, id):return HttpResponse(str(year) + '/' + str(month) + '/' + str(day) + '/' + '  id是' + str(id) + "的博客页面")

运行测试:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/691388.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SPSSAU【文本分析】|文本聚类

SPSSAU共提供两种文本聚类方式&#xff0c;分别是按词聚类和按行聚类。按词聚类是指将需要分析的关键词进行聚类分析&#xff0c;并且进行可视化展示&#xff0c;即针对关键词进行聚类&#xff0c;此处关键词可以自由选择。按行聚类分析是指针对以‘行’为单位进行聚类分析&…

YOLOv8推理程序

YOLOv8单独推理,有时候我们自定义的模块算子无法正常转换为其他框架,而且需要做成应用,因此需要一个单独推理的程序,返回的是识别后的照片还有各个类别及其对应数量。文章最后给出Flask封装为Server以及调用的实例还有Client请求代码,支持几十路多线程并发,只需加载一次模…

闲鱼搜索API接口

闲鱼搜索API接口接口api代码对接如下&#xff1a; 1.公共参数 名称 类型 必须 描述 key String √ get请求方式拼接在url中&#xff0c;点击获取 api_name String √ api接口名称 cache String 默认否 result_type String 否 json lang String 默认cn 简…

linux部署jenkins,支持jdk1.8

无废话&#xff0c;纯干活安装指令 本文前提条件需安装jdk8&#xff0c;安装参考&#xff1a;Linux配置jdk环境 下载资源 # 创建安装目录 mkdir -p /data/jenkins && cd /data/jenkins# 下载jenkins的war包&#xff0c;v2.346.x支持jdk1.8&#xff0c;高于这个版本的…

【数据结构】图的最小生成树

最小生成树 一个图中有N个顶点&#xff0c;边的数量一定是>N-1&#xff0c;我们从中选取N-1条边&#xff0c;用来连接N个点&#xff0c;所形成的边权之和最小&#xff0c;就是最小生成树。 构成最小生成树的准则 只能使用图中的边来构造最小生成树只能使用恰好n-1条边来连…

Stable Diffusion 绘画入门教程(webui)-提示词

通过上一篇文章大家应该已经掌握了sd的使用流程&#xff0c;本篇文章重点讲一下提示词应该如何写 AI绘画本身就是通过我们写一些提示词&#xff0c;然后生成对应的画面&#xff0c;所以提示词的重要性不言而喻。 要想生成更加符合自己脑海里画面的图片&#xff0c;就尽量按照…

术业有专攻!三防加固平板助力工业起飞

在日常使用中的商业电脑比较追求时效性&#xff0c;以市场定位做标准&#xff0c;内部元件只需满足一般要求就行&#xff0c;使用寿命比较短。而三防平板电脑是主要运用在复杂、恶劣的环境下所以在需求方面较高,需要保证产品在恶劣条件下正常使用&#xff0c;满足行业领域的需求…

【CCEdit】通过扩散模型进行创意且可控的视频编辑

文章目录 CCEdit1. 核心特性1.1 三叉戟网络结构1.2 精细的外观控制1.3 高度的自适应性 2. 三叉戟结构2.1 结构分支&#xff08;ControlNet架构&#xff09;2.2 外观分支2.3 主分支 3. 数据集——BalanceCC benchmark dataset4. 训练5. 长视频编辑6. 使用场景7. 评估指标 CCEdit…

单片机01天---stm32基本信息了解

下载数据手册 以STM32F407ZG为例 网站&#xff1a;www.st.com&#xff0c;搜索芯片型号&#xff0c;下载“数据手册”使用 数据手册使用 查看芯片型号信息 芯片资源信息 时钟框图 芯片资源表格下方 GPIO口表格 一般位于下图后面的位置 ①工作电压&#xff1a;1.8V – 3.6V…

Codeforces Round 928 (Div. 4) (A-E)

比赛地址 : https://codeforces.com/contest/1926 A 遍历每一个字符串&#xff0c;比较1和0的数量即可&#xff0c;那个大输出那个; #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \n #define lowbit(x) (x&am…

C++BST(二叉搜索树)应用场景

CBST可以应用于各种场景&#xff1a; 数据的快速查找&#xff1a;由于BST的特性&#xff0c;可以很方便地进行查找操作。在BST中&#xff0c;查找一个特定元素的时间复杂度为O(log n)&#xff0c;其中n是BST中节点的数量。数据的排序&#xff1a;BST可以通过中序遍历得到有序的…

Idea启动Gradle报错: Please, re-import the Gradle project and try again

Idea启动Gradle报错&#xff1a;Warning:Unable to make the module: reading, related gradle configuration was not found. Please, re-import the Gradle project and try again. 解决办法&#xff1a; 开启步骤&#xff1a;View -> Tool Windows -> Gradle 点击refe…

HN 千赞热贴|创业 4 年,那些狠狠打我脸的技术选型

Hacker News 帖子 过年这段时间&#xff0c;Hacker News 上也涌现了不少好帖子&#xff0c;除了霸榜的 Sora 外&#xff0c;技术贴最靠前的就是这篇 (Almost) Every infrastructure decision I endorse or regret after 4 years running infrastructure at a startup。作者根据…

C#面:列出 .NET 中的几种循环方法,并指出它们的不同

fo r循环&#xff1a; for 循环是一种最常见的循环方法&#xff0c;它通过指定循环的起始值、终止条件和每次迭代的步长来控制循环。 for 循环适用于已知循环次数的情况。 while循环&#xff1a; while循环是一种在循环开始之前先判断条件是否满足的循环方法。只有当条件为…

【Django开发】0到1开发美多shop项目:图形和短信验证码。全md文档笔记(附代码,已分享)

本系列文章md笔记&#xff08;已分享&#xff09;主要讨论django商城项目相关知识。项目利用Django框架开发一套前后端不分离的商城项目&#xff08;4.0版本&#xff09;含代码和文档。功能包括前后端不分离&#xff0c;方便SEO。采用Django Jinja2模板引擎 Vue.js实现前后端…

【Java多线程】线程安全问题与解决方案

目录 1、线程安全问题 1.2、线程安全原因 2、线程加锁 2.1、synchronized 关键字 2.2、完善代码 2.3、对同一个线程的加锁操作 3、内容补充 3.1、内存可见性问题 3.2、指令重排序问题 3.3、解决方法 3.4、总结 volatile 关键字 1、线程安全问题 某个代码&#xff…

初识结构体(C语言)

目录 1、结构体声明 2、结构体访问 3、结构体传参 1、结构体声明 结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每一个成员可以是不同类型的变量。有点像数组&#xff0c;但是一个数组只能存放同一种类型的变量。如果要描述复杂对象的时候&#xff0c;对象由多…

基于Java SSM框架实现留学生交流互动论坛网站项目【项目源码+论文说明】

摘要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存…

【leetcode】常用数学题解法介绍

当涉及到ACM算法题中常见的数学常识和知识点时&#xff0c;以下是更加详细和全面的分析&#xff1a; 二进制&#xff1a; 二进制在计算机中是最基础的进制&#xff0c;它只包含两个数字0和1。在ACM算法题中&#xff0c;常用的二进制操作有&#xff1a; 位运算&#xff1a;包括…

关于三色标记算法

关于三色标记算法 三色标记算法是一种用于垃圾收集得算法&#xff0c;主要用于解决在并发垃圾收集中可能出现得对象引用更新问题。在JVM中&#xff0c;这种算法主要应用于CMS&#xff08;ConcurrentMarkSweep&#xff09;收集器和G1&#xff08;Garbage-first&#xff09;收集…