python routes
2016-01-09 23:22
543 查看
routes是用python重新实现的Rails routes系统,用来映射url与应用程序的系统------路由寻找及url生成。
例子:
第1、2行:创建一个mapper。
第3行:匹配一个三分量的路由-以“/error”开始,定义controller为error。因此一个url“/error/images/arrow.jpg”将产生。
第4行:匹配一个单一的“/”url。定义controller and action分别为main、index。route的名字为home。
第5、6行:分别匹配任何两分量和三分量的url
假若不想为每一个action定义一个路由,可以采用第5、6行方式定义route。
定义一个正在匹配url(只能匹配/blog/123 不能匹配/blog/123A)
map.connect("/blog/{id}", requirements={"id": R"\d+"})
map.connect("/download/{platform}/{filename}", requirements={"platform": R"windows|mac"})
条件Conditions 路由:Conditions 字典可以最多具有三个key:method、sub_domain、function
m.connect("/user/list", controller="user", action="list", conditions=dict(method=["GET", "HEAD"]))
RESTful services
以下语句:
map.resource("message", "messages")
等同于:
实现了以下RESTful接口功
4000
能:
GET /messages => messages.index() => url("messages")
POST /messages => messages.create() => url("messages")
GET /messages/new => messages.new() => url("new_message")
PUT /messages/1 => messages.update(id) => url("message", id=1)
DELETE /messages/1 => messages.delete(id) => url("message", id=1)
GET /messages/1 => messages.show(id) => url("message", id=1)
GET /messages/1/edit => messages.edit(id) => url("edit_message", id=1)
routes是用python重新实现的Rails routes系统,用来映射url与应用程序的系统------路由寻找及url生成。
例子:
from routes import Mapper map = Mapper() map.connect(None, "/error/{action}/{id}", controller="error") map.connect("home", "/", controller="main", action="index") map.connect('/{controller}/{action}') map.connect('/{controller}/{action}/{id}')
第1、2行:创建一个mapper。
第3行:匹配一个三分量的路由-以“/error”开始,定义controller为error。因此一个url“/error/images/arrow.jpg”将产生。
第4行:匹配一个单一的“/”url。定义controller and action分别为main、index。route的名字为home。
第5、6行:分别匹配任何两分量和三分量的url
假若不想为每一个action定义一个路由,可以采用第5、6行方式定义route。
定义一个正在匹配url(只能匹配/blog/123 不能匹配/blog/123A)
map.connect("/blog/{id}", requirements={"id": R"\d+"})
map.connect("/download/{platform}/{filename}", requirements={"platform": R"windows|mac"})
条件Conditions 路由:Conditions 字典可以最多具有三个key:method、sub_domain、function
m.connect("/user/list", controller="user", action="list", conditions=dict(method=["GET", "HEAD"]))
RESTful services
以下语句:
map.resource("message", "messages")
等同于:
map.connect("messages", "/messages", controller="messages", action="create", conditions=dict(method=["POST"])) map.connect("messages", "/messages", controller="messages", action="index", conditions=dict(method=["GET"])) map.connect("formatted_messages", "/messages.{format}", controller="messages", action="index", conditions=dict(method=["GET"])) map.connect("new_message", "/messages/new", controller="messages", action="new", conditions=dict(method=["GET"])) map.connect("formatted_new_message", "/messages/new.{format}", controller="messages", action="new", conditions=dict(method=["GET"])) map.connect("/messages/{id}", controller="messages", action="update", conditions=dict(method=["PUT"])) map.connect("/messages/{id}", controller="messages", action="delete", conditions=dict(method=["DELETE"])) map.connect("edit_message", "/messages/{id}/edit", controller="messages", action="edit", conditions=dict(method=["GET"])) map.connect("formatted_edit_message", "/messages/{id}.{format}/edit", controller="messages", action="edit", conditions=dict(method=["GET"])) map.connect("message", "/messages/{id}", controller="messages", action="show", conditions=dict(method=["GET"])) map.connect("formatted_message", "/messages/{id}.{format}", controller="messages", action="show", conditions=dict(method=["GET"]))
实现了以下RESTful接口功
4000
能:
GET /messages => messages.index() => url("messages")
POST /messages => messages.create() => url("messages")
GET /messages/new => messages.new() => url("new_message")
PUT /messages/1 => messages.update(id) => url("message", id=1)
DELETE /messages/1 => messages.delete(id) => url("message", id=1)
GET /messages/1 => messages.show(id) => url("message", id=1)
GET /messages/1/edit => messages.edit(id) => url("edit_message", id=1)
相关文章推荐
- python学习之简单正则与爬虫
- Python pip 更新问题汇总
- 【学神-RHEL7】P2-Python流程控制
- [Python标准库]operator——内置操作符的函数接口
- Python读写文件实际操作的五大步骤
- 菜鸟学python(8) 初识函数
- Python多进程编程
- python基础学习——第二天
- 高阶函数简单总结记录
- python发送邮件方法
- python 位运算符与逻辑运算符(字符串的逻辑运算)
- 比较Python和Perl的效率
- leetcode之Reverse Linked List II
- Python中安装以及配置easy_install
- [python语法巩固][leetcode326][Power of Three]
- [python语法巩固][leetcode326][Power of Three]
- python numpy:1 numpy.array和numpy.matrix常用函数使用
- 快速打造跨平台开发环境 vagrant + virtualbox + box
- 菜鸟学python(7) 简单文件访问
- 菜鸟学python(6) for语句