跳转到主要内容

URL路由正确实现

项目描述

只是一个简单的示例

from routr import route, GET, POST
from routr.schema import form, String

def create_user(username=None):
  ...

def get_user(id):
  ...

routes = route("/users",
  route(POST, "/",          form(username=String), create_user),
  route(GET,  "/{id:int}",  get_user)
  )

文档在此托管于优秀的readthedocs项目。

0.7.1

  • 修复Python 3对routr.utils.import_string共享函数的支持。

0.7.0

  • 初始支持Python 3.2和3.3,也回溯到Python 2.6。

0.6.2

  • Trace.annotation(name, default=None)方法用于从路由中检索注释。

0.6.1

  • routr.static.static接受注释

  • routr.static.static返回Response子类的对象

0.6

  • 模式验证和文档生成已移至单独的包

0.5.1

  • 修复trace.args/kwargs更新中的bug

0.5

  • 使用schemify进行模式验证

  • 完全删除routr.schema

  • 移除 routr.schema2qsform 守卫现在可以直接从 routr 模块导入

0.4.2

  • routr.schema2: opt 现在可以提供默认值

  • routr.schema2: 允许基于 namedtuple 的模式

0.4.1

  • HTTP 方法常量现在可以用于定义路由

0.4

  • 允许为 URL 匹配设置自定义类 – 使用 route 指令的 url_pattern_cls 关键字参数

  • 轻量级模式验证包 routr.schema2

0.3.4

  • URL 模式类型 str 现在具有 re 参数 – 允许通过正则表达式验证字符串

0.3.3

  • 修复数字标签的 URL 模式匹配,如 /{id1}

0.3.2

  • routr.static.static 路由现在可以通过 static_view 注解而不是视图属性来区分(仍保留以支持向后兼容)

0.3.1

  • 修复 routr.static 的行为

0.3

  • 去除 Configuration,现在 route 只是一个普通函数 – 这允许更好的组合性,而无需在不同应用部分之间共享配置对象

  • 添加 routr.static 以提供静态文件服务

  • 添加 routr.utils.positional_args 以用于不同类型对象的定位参数的反射,以及 routr.utils.inject_args 以基于反射注入定位参数

0.2.1

  • 修复 DSL 的错误

0.2

  • [不向后兼容] 新的 DSL – 去除了嘈杂的 guards 关键字参数

0.1.7

  • [错误修复] 修复了具有多个参数的 URL 的不正确反转

0.1.6

  • [错误修复] 修复了在 RouteGroup 匹配中弹出 RouteGuarded 的问题

  • 在 URLPattern 中添加了 ‘_’ 到允许的参数

0.1.5

  • 引入 RequestParams.exception_factory,它抽象了在提供无效数据时抛出 HTTPBadRequest 的情况

  • [错误修复] RouteGuarded.response 现在已正确安装,之前它有时包含 NoUrlMatched 对象,这些对象不是响应

0.1.4

  • RequestParams.post_processor 现在也可以通过加法累积

  • 修复了 RequestParams 中的错误,该错误阻止了直接包裹 SchemaNode 对象的 Option

0.1.3

  • 通过在 dist 中包含 CHANGES 文件来修复损坏的 0.1.2 版本

0.1.2

  • 通过 Configuration.trace 属性使跟踪工厂可配置

  • 方法和 PATH_INFO 的提取委派给配置,允许实现其他请求包装器的路由(例如 werkzeug 或 django 的请求)

  • 路由现在可以通过 cfg 属性访问配置对象

0.1.1

  • 允许守卫返回 None(路由在此不会中断并继续使用旧跟踪)

  • RequestParams 现在可以直接接受 colander.SchemaNode(允许提供验证器)

0.1

  • 初始版本

项目详情


下载文件

为您的平台下载文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分发

routr-0.7.2.tar.gz (14.9 kB 查看哈希值)

上传时间 源代码