当前位置: 首页 > news >正文

python--route

routes是用python重新实现的Rails routes系统,用于将url映射到应用程序的actions ,并反过来生成url
它也是在openstack实现restful通信的方式,它被用来做将 URL 映射为 App 的 action,以及为 App的action 产生 URL

两个重要的方法:map.connect (定义映射规则) 和 map.match (获取映射结果)

map.connect映射规则:(map名称,路由地址,controller,action,conditions,requirements)
除了路由地址,其余都是附加参数,对映射进行一些处理
controller:资源控制类
action:资源处理操作
requirements:对输入格式进行限制
conditions:路由方式

map.routematch返回结果:如果匹配到了,会返回一个二元元组,元组第一个元素为匹配到的字典,第二个元素一个Route对象
map.match:比routematch少返回了一个route对象

# !/usr/bin/env python
# coding: utf-8from routes.mapper import Mapper# 实例化一个Mapper对象
mapper = Mapper()# 注册一个/hi路由
mapper.connect("/hi")mapper.connect(None, "/error/{action}/{id}", controller="error")
mapper.connect("home", "/hi2", controller="main", action="index")
mapper.connect('/hi2/{action}')
mapper.connect('/hi3/{action}/{id}')m4_res = mapper.routematch("/error/az/a")
print(m4_res)# 查找/hi
m_result = mapper.routematch("/hi")
print(m_result)# 查找/hi2
m2_result = mapper.routematch("/hi2/h2")
print(m2_result)# 查找/hi3
m3_result = mapper.routematch("/hi3/boy/23")
print(m3_result)

执行结果如下:

({'action': 'az', 'id': 'a', 'controller': 'error'}, <routes.route.Route object at 0x0000020481DF5D90>)
({}, <routes.route.Route object at 0x0000020481DF5D00>)
({'action': 'h2'}, <routes.route.Route object at 0x0000020481DF5B50>)
({'action': 'boy', 'id': '23'}, <routes.route.Route object at 0x0000020481DF57C0>

当映射规则很多的时候,需要使用很多次 map.connect,这时可以使用 map.resource 方法
map.resource内部定义了默认的匹配条件
第一个参数message为 member_name(资源名),第二个参数messages为collection_name(资源集合名),一般定义资源集合名为资源名的复数
collection_name作为访问的路径名,且当没有传入参数controller时,controller=collection_name

from routes.mapper import Mapper# 实例化一个Mapper对象
mapper = Mapper(always_scan=True)
mapper.resource("message", "messages", controller="testuse")
# 等同于以下匹配条件:mapper.connect('/messages', controller="testuse", action='index', conditions={'method': ['GET']})mapper.connect('/messages', controller="testuse", action='create', conditions={'method': ['POST']})mapper.connect('/messages/{id:[0-9]+}', controller="testuse", action='show', conditions={'method': ['GET']})mapper.connect('/messages/{id}', controller="testuse", action='update', conditions={'method': ['PUT']},requirements=dict(id=r"[a-z]+"))
mapper.connect('/messages/{id:[XYZ]}', controller="testuse", action='delete', conditions={'method': ['DELETE']})

相关文章:

python--route

routes是用python重新实现的Rails routes系统&#xff0c;用于将url映射到应用程序的actions &#xff0c;并反过来生成url 它也是在openstack实现restful通信的方式&#xff0c;它被用来做将 URL 映射为 App 的 action&#xff0c;以及为 App的action 产生 URL 两个重要的方法…...

java面试中被问到项目中的难点,怎么回答

java面试中被问到项目中的难点&#xff0c;怎么回答回答步骤举例说明回答步骤 回答这个问题的方法取决于你的项目的类型和难度。 但是&#xff0c;一般来说&#xff0c;你可以遵循以下步骤来回答这个问题&#xff1a; 描述你的项目&#xff1a;首先简要描述你的项目的类型和目…...

【速通版】吴恩达机器学习笔记Part1

准备速通一下吴恩达的机器学习 很快做个笔记5.2.3 监督学习 part 2_哔哩哔哩_bilibili 目录 1.概述&#xff08;P1-P3) 2.supervised learning&#xff1a;&#xff08;P4,P5) regression&#xff1a; classification 3.unsupervised learning &#xff08;P6- 1.聚类算…...

面试(九)小米C++开发一面 21.11.02

1、局部变量与全局变量的区别?可以同名嘛? 首先是作用域: 局部变量只在变量声明的代码块范围内生效 全局变量在其声明后的所有位置都能访问到 在局部变量与全局变量同名的情况下,全局变量会被屏蔽掉,只会使用局部变量的内容 2、extern 当在a.c中想要使用b.c中的函数fu…...

儿童书写台灯哪个牌子比较好?2023儿童护眼台灯分享

现在儿童的近视率高达52.7%&#xff0c;有科技水平的提高和电子产品的普及&#xff0c;近视率逐年攀升&#xff0c;出现低龄化现象&#xff0c;调查结果显示&#xff0c;其中6岁儿童达到14.3%&#xff0c;小学生为35.6%。初中生71.1%&#xff0c;高中生高达80.5%&#xff0c;可…...

市场调研计划书如何写?

想要做好一个产品&#xff0c;市场调研是必不可少的一步&#xff0c;也是第一步&#xff0c;那么如何进行市场调研呢&#xff1f;以下是我整理的一份市场调研计划书&#xff0c;希望能够帮助到大家&#xff01;&#xff01;&#xff01; 一、文档版本控制 主要记录文档的版本…...

python网络爬虫—快速入门(理论+实战)(七)

系列文章目录 &#xff08;1&#xff09;python网络爬虫—快速入门&#xff08;理论实战&#xff09;&#xff08;一&#xff09; &#xff08;2&#xff09;python网络爬虫—快速入门&#xff08;理论实战&#xff09;&#xff08;二&#xff09; &#xff08;3&#xff09; p…...

机器学习笔记——Chapter 1 – The Machine Learning landscape

ML学习笔记 Chapter 1 – The Machine Learning landscape 1.如何定义机器学习&#xff1f; Answer&#xff1a;机器学习是一门通过编程让计算机从数据中进行学习的科学&#xff08;和艺术&#xff09;。 2.机器学习在哪些问题上表现突出&#xff0c;你能给出四种类型吗&am…...

skimage.feature--corner_harris、hog、local_binary_pattern说明

skimage.feature说明–corner_harris、hog、local_binary_pattern 文章目录skimage.feature说明--corner_harris、hog、local_binary_pattern1. 前言2. corner_harris2.1 介绍2.2 参数及返回3. hog3.1 介绍3.2 参数及返回4. local_binary_pattern4.1 介绍4.2 参数及返回5. 总结…...

致敬白衣天使,学习Python读取

名字&#xff1a;阿玥的小东东 学习&#xff1a;Python、c 主页&#xff1a;阿玥的小东东 故事设定&#xff1a;现在学校要求对所有同学进行核酸采集&#xff0c;每位同学先在宿舍内等候防护人员&#xff08;以下简称“大白”&#xff09;叫号&#xff0c;叫到自己时去停车场排…...

JVM - 认识JVM规范

目录 重识JVM JVM规范作用及其核心 JVM 整体组成 理解ClassFile结构 ASM开发 重识JVM JVM概述JVM&#xff1a; Java Virtual Machine&#xff0c;也就是Java虚拟机所谓虚拟机是指&#xff1a; 通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统…...

文献阅读笔记 # CodeBERT: A Pre-Trained Model for Programming and Natural Languages

《CodeBERT: A Pre-Trained Model for Programming and Natural Languages》EMNLP 2020 (CCF-B)作者主要是来自哈工大、中山大学的 MSRA 实习生和 MSRA、哈工大的研究员。资源&#xff1a;code | pdf相关资源&#xff1a;RoBERTa-base | CodeNN词汇&#xff1a; bimodal: 双模态…...

openHarmony的UI开发

自适应布局 拉伸能力 ​ Blank在容器主轴方向上&#xff0c;空白填充组件具有自动填充容器空余部分的能力。仅当父组件为Row/Column时生效&#xff0c;即是线性布局。这样便可以在两个固定宽度或高度的组件中间添加一个Blank()&#xff0c;将剩余空间占满&#xff0c;从而实现…...

【JavaSE】深入HashMap

文章目录1. HashMap概述2. 哈希冲突3. 树化与退化3.1 树化的意义3.2 树的退化4. 二次哈希5. put方法源码分析6. key的设计7. 并发问题参考 如何防止因哈希碰撞引起的DoS攻击_hashmap dos攻击_双子孤狼的博客-CSDN博客 为什么 HashMap 要用 h^(h &#xff1e;&#xff1e;&#…...

华为机试题:HJ62 查找输入整数二进制中1的个数(python)

文章目录博主精品专栏导航知识点详解1、input()&#xff1a;获取控制台&#xff08;任意形式&#xff09;的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方法2、print() &#xff1a;打印输出。1、整型int() &#xff1a;将指定进制&#xf…...

代码随想录训练营一刷总结|

分为几个大部分&#xff1a; 数组 最先接触的部分&#xff0c;虽然说感觉是最简单的&#xff0c;但是需要掌握好基础&#xff0c;特别是小心循环。这里面需要再仔细看的就是螺旋矩阵那一块&#xff0c;其他的在后续刷的时候能用一种方法一次a就行。 链表 需要注意链表的基础…...

CSS中的几种尺寸单位

一、尺寸单位 CSS 支持多种尺寸单位&#xff0c;包括&#xff1a; px&#xff1a;像素&#xff0c;固定大小单位em&#xff1a;相对于当前元素字体大小的单位rem&#xff1a;相对于根元素&#xff08;HTML&#xff09;字体大小的单位%&#xff1a;相对于父元素的百分比单位vh…...

运维必会:ansible剧本(piaybook)

playbooks 概述以及实例操作 Playbooks 组成部分&#xff1a; Inventory Modules Ad Hoc Commands Playbooks Tasks: 任务&#xff0c;即调用模块完成的某些操作 Variables: 变量 Templates: 模板 Handlers: 处理器&#xff0c;由某时间触发执行的操作 Roles: 角色 YAML 介绍…...

活动星投票午间修身自习室制作在线投票投票制作网页

“午间修身自习室”网络评选投票_免费小程序投票推广_小程序投票平台好处手机互联网给所有人都带来不同程度的便利&#xff0c;而微信已经成为国民的系统级别的应用。现在很多人都会在微信群或朋友圈里转发投票&#xff0c;对于运营及推广来说找一个合适的投票小程序能够提高工…...

C#泛型:高级静态语言的效率利器

文章目录引入类型约束子类泛型常用的泛型数据结构前文提要&#xff1a; &#x1f48e;超快速成&#xff0c;零基础掌握C#开发中最重要的概念&#x1f48e;抽丝剥茧&#xff0c;C#面向对象快速上手&#x1f48e;Winform&#xff0c;最友好的桌面GUI框架&#x1f48e;懂了委托&a…...

澳大利亚访问学者申请流程总结

澳大利亚访问学者申请需要注意些什么&#xff1f;下面知识人网小编整理澳大利亚访问学者申请流程总结。1、取得wsk英语成绩&#xff0c;现在都是先买票再上车了。2、联系外导&#xff0c;申请意向接收函(email)。3、向留学基金委CSC提出申请。4、获批后&#xff0c;申请正式邀请…...

cookie和Session的作用和比较

目录 什么是cookie cookie的工作原理 什么是session Session的工作原理 为什么会有session和cookie cookie和session如何配合工作 cookie和Session作用 什么是会话 什么是cookie cookie是web服务器端向我们客户端发送的一块小文件&#xff0c;该文件是干嘛的呢&#xf…...

测试员都是背锅侠?测试人员避“锅”攻略,拿走不谢

最近发生了一起生产事故&#xff0c;究其根源&#xff0c;事故本身属于架构或者需求层面需要规避的问题&#xff0c;测试人员的责任其实是非常小的&#xff0c;但实际情况是&#xff1a;相关测试人员因此承担了很大的压力&#xff0c;成为质量问题的“背锅侠”。 实际上&#…...

C++: C++模板<template>

C template content&#x1f60a;前言&#x1f601;模板&#x1f495;1、泛型编程&#x1f60d;2、函数模板&#x1f612;2.1&#xff1a;函数模板概念&#x1f44c;2.2&#xff1a;函数模板的格式&#x1f618;2.3&#xff1a;函数模板原理&#x1f601;2.4&#xff1a;函数模…...

chmod命令详解

用法&#xff1a;chmod [选项]… 模式[,模式]… 文件…  或&#xff1a;chmod [选项]… 八进制模式 文件…  或&#xff1a;chmod [选项]… --reference参考文件 文件… Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of R…...

状态机设计中的关键技术

⭐本专栏针对FPGA进行入门学习&#xff0c;从数电中常见的逻辑代数讲起&#xff0c;结合Verilog HDL语言学习与仿真&#xff0c;主要对组合逻辑电路与时序逻辑电路进行分析与设计&#xff0c;对状态机FSM进行剖析与建模。 &#x1f525;文章和代码已归档至【Github仓库&#xf…...

单片机开发---ESP32S3移植NES模拟器(二)

书接上文 《单片机开发—ESP32-S3模块上手》 《单片机开发—ESP32S3移植lvgl触摸屏》 《单片机开发—ESP32S3移植NES模拟器&#xff08;一&#xff09;》 暖场视频&#xff0c;小时候称这个为—超级曲线射门&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&am…...

微信小程序nodej‘s+vue警局便民服务管理系统

本文首先介绍了设计的背景与研究目的,其次介绍系统相关技术,重点叙述了系统功能分析以及详细设计,最后总结了系统的开发心得在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括“最多跑一次”微信小程序的网络应用,在外国小程序的使用已经是很普遍的方…...

第18章 MongoDB $type 操作符教程

MongoDB $type 操作符 描述 在本章节中&#xff0c;咱们将继续讨论MongoDB中条件操作符 $type。 $type操作符是基于BSON类型来检索集合中匹配的数据类型&#xff0c;并return 结果。 MongoDB 中可以使用的类型如下表所示&#xff1a; 类型数字备注Double1 String2 Object3…...

【MySQL主从复制】快速配置

本文配置环境Windows和Linux。 windows主 Linux 从 一、主库配置 首先保证Linux和防火墙开启3306端口或关闭防火墙。 登录Mysql管理员账户: GRANT REPLICATION slave,reload,super ON *.* TO root@从库ip地址 IDENtIFIED BY root; flush privileges; 本地的mysql可以被:…...

深圳网站制作开发/百度文库网页版

版本新增功能5.0.16增加文件日志自动清理功能支持5.0.13增加单文件日志写入功能5.0.10增加record_trace配置参数用于记录trace信息到日志5.0.4命令行模式下日志自动定时写入 debug日志类型仅用于调试模式记录手动记录 一般情况下&#xff0c;系统的日志记录是自动的&#xff0c…...

高端手机网站定制/中小企业网络推广

#include<stdio.h> #include<math.h> #include<string.h> //其他任意进制转换为十进制 int main() { int trans(char a[],int ); char strupr(char ); char arr[100]; int t; printf("请输入进制的类型:"); scanf("%d",&t); printf(…...

产品企业网站/2021百度新算法优化

vue-cli项目中iPhoneX底部黑色横条遮挡Footer组件的解决方法 // index.html <head>// 新增 viewport-fitcover<meta name"viewport" content"widthdevice-width,initial-scale1.0,maximum-scale1.0,minimum-scale1.0,user-scaleableno,viewport-fitco…...

四川政府网站建设管理/电子技术培训机构

运行下面的命令可以检查rpm包安装后发生了什么改变# rpm -Va S.5....T. c /etc/watchdog.conf S.5....T. c /etc/xinetd.d/tftp S.5....T. c /etc/rc.d/rc.local S.5....T. c /etc/sysctl.conf S.5....T. c /etc/bashrc S.5....T. c /etc/dhcp/dhcpd.conf ....L.... c /…...

iapp做网站/seo关键词排名优化联系方式

题目部分 原题链接 题目描述 传说很久以前&#xff0c;大地上居住着一种神秘的生物&#xff1a;地精。 地精喜欢住在连绵不绝的山脉中。具体地说&#xff0c;一座长度为N的山脉H可分为从左到右的N段&#xff0c;每段有一个独一无二的高度\(H\_i\)&#xff0c;其中\(H\_i\)是\(1…...

小程序的类型有哪些/seo收费低

今天心血来潮看一下spring监控 访问/beans 等敏感的信息时候报错Tue Mar 07 21:18:57 GMT08:00 2017 There was an unexpected error (typeUnauthorized, status401). Full authentication is required to access this resource.application.properties添加配置参数manage…...