1.3.1 DYNAMIC ROUTES(动态路由)
来源:互联网 发布:mac pro有什么用 编辑:程序博客网 时间:2024/05/13 00:49
有通配符的路由叫做动态路由(相对于静态路由来说),动态路由可以匹配多个URL。一个简单的通配符由一对尖括号和里面的名字组成(比如 <name>),通配符由'/'分隔。例如,/hello/<name> 这个路由接收 /hello/alice 也接收 /hello/bob,但是不匹配 /hello,/hello/ 或是 /hello/mr/smith。
URL总每个通配符位置的值会当做参数传入相应回调函数。你能直接用这种方式实现RESTful,好看的和有意义的URL。这是另一些例子:
@route('/wiki/<pagename>') # matches /wiki/Learning_Pythondef show_wiki_page(pagename): ...@route('/<action>/<user>') # matches /follow/defnulldef user_api(action, user): ...
过滤器(Filters)能被用来定义更加复杂的通配符,URL的相应部分要先经过过滤再传给回调函数。含过滤器的通配符形式如<name:filter>或者是<name:filter:config>。可选的config部分取决于过滤器的种类。
以下是目前默认存在的过滤器:
- : int,只匹配整数,并且将值转为整形。
- :float,跟 :int 类似,只是针对浮点数的。
- :path,用一种非贪婪的方式陪陪所有的字符(包括'\'字符),且能匹配多个路径部分。
- :re,允许你用正则表达式进行匹配,匹配的值不会进行格式转换。
让我们来看一些练习的例子:
@route('/object/<id:int>')def callback(id): assert isinstance(id, int)@route('/show/<name:re:[a-z]+>')def callback(name): assert name.isalpha()@route('/static/<path:path>')def callback(path): return static_file(path, ...)
现在可以自定义你自己的过滤器了。
0 0
- 1.3.1 DYNAMIC ROUTES(动态路由)
- Play framework 路由(routes)
- Spring 动态数据源路由(Dynamic DataSource Routing)
- rails routes路由笔记
- Laravel之路由(Routes)
- ASP.NET MVC3中的路由系统(Routes)
- ASP.NET MVC3中的路由系统(Routes)
- ASP.NET MVC3中的路由系统(Routes)
- ASP.NET MVC3中的多路由系统(Routes)
- Laravel最佳分割路由文件(routes.php)的方式
- play1.x 第二弹 :HTTP路由(routes)
- codeiginter -- 路由配置 routes.php
- sencha touch 路由(routes}浅谈
- 胶囊间的动态路由(Dynamic Routing Between Capsules)翻译
- sencha touch routes(路由) 传递中文参数
- Dynamic Creation(动态创建)
- 动态代理(Dynamic Proxy)
- 动态代理(Dynamic Proxy)
- 压缩文件,支持中文
- JQ 中 时间格式化和 时间的比较
- [转]UML类图、关系及其JAVA代码
- 阿里云服务器操作
- Android Handler内存泄露
- 1.3.1 DYNAMIC ROUTES(动态路由)
- 如何在UICollectionView reloadData后找到的某个cell
- 20160108HTML学习笔记html的基础l标签
- position:fixed(固定位置定位)在移动开发中总结大全
- 【CSS】文本水平对齐[CSS权威指南 学习笔记]
- MFC捕捉子控件鼠标消息莫名奔溃
- 软件项目开发的标准化文档编写
- Bootstrap复习
- python学习之数据类型