04. Django基础:路由配置
一、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基础:路由配置相关推荐
- django urls路由配置
学习django的路由配置时一般会用到两个函数path和re_path,re_path可以结合正则,在使用过程中我发现两个需要注意的点: 1.urls在查询路由的时候接收到的路由均是以字符串形式传递的 ...
- Ubuntu 18.04 LTS 永久路由配置指导
一.方式一: Netplan 已在在 Ubuntu 18.04 系统中用来管理网络,它是一款是一个用于配置 Linux 网络的简单工具. 通过 Netplan ,只需用一个 YAML 文件就可描述每个 ...
- Django url路由配置的两种方法
前言 例如:Django是python提供的web框架,可以快速方便的搭起一个系统,而url配置也是学习Django的第一步. 提示:以下是本篇文章正文内容,下面案例可供参考 一.直接在总路由配置 二 ...
- django 基础安装配置流程
1.django各个版本的兼容关系: 图片来源:Django 版本和 Python 版本的对照关系_化雨随风的博客-CSDN博客_django和python版本对应 我选择的是django3.2.9版 ...
- Django基础-安装配置
2019独角兽企业重金招聘Python工程师标准>>> 安装 Django Python下载地址:https://www.python.org/downloads/ Django下载 ...
- Django(路由配置)
path()函数 导入 from django.urls import path 语法 path(route,views,name=None) 参数: 1.route:字符串类型,匹配的请求路径 2. ...
- Day47 Django基础部分、路由配置、空间名称
1.最简单的路由配置 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个U ...
- Django基础--Django基本命令、路由配置系统(URLconf)、编写视图、Template、数据库与ORM...
web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构. 使用框架可以帮你快速开发特定的系统. 简单地说,就是你用别人搭建好的舞台来做表演. 尝试搭建一个简单 ...
- Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)
阅读目录 摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大 ...
- python路由编程_Python Django基础二之URL路由系统
MVC和MTV框架 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负责业务 ...
最新文章
- 从网上找到一个清晰CSS视频教程和大家分享一下
- 未来编程语言的发展方向(1)
- vue+mintUI搭建移动端新闻类网站
- #1064 - You have an error in your SQL syntax; version for the right syntax to use near '' at line
- Leetcode每日一题:649.dota2-senate(Dota2参议院)
- mysql int 判断_PHP通过PDO查MySQL查询int字段返回string类型,解决方案
- 如何在 OpenResty 中使用 websocket
- 内存模型以及分区,需要详细到每个区放什么
- 密码要包含大小写字母+数字+符号,提这个建议的人刚刚承认他错了
- 也谈360软件是否可靠
- 一文搞懂网卡驱动的原理与移植方法
- SpringMVC框架|Handler处理器的三种写法
- 【EMNLP 2021】SimCSE:句子嵌入的简单对比学习 【CVPR 2021】理解对比学习损失函数及温度系数
- 用python发送put请求
- 怎么搭建个人私有网盘(高速企业网盘源码平台搭建教程)
- 一道不一样的前端架构师最终面试题
- 数据泵(一)-基本概念
- vue开发:移动端图片上传
- 【运维面试】面试官: jar包和war包有什么区别?
- Super PI linux 版本最新可用