高速路由
项目描述
自动路由
高速路由。
安装
pip install autoroutes
API
# Create a Routes instance
from autoroutes import Routes
routes = Routes()
# Register a new route
routes.add('path/to/resource/{id}', something='value', anything='else')
# Try to match a route
routes.match('path/to/resource/1234')
> ({'something': 'value', 'anything': 'else'}, {'id': '1234'})
注意:注册路由的顺序很重要。在匹配时,路由将按该顺序尝试。
占位符
占位符由一对大括号定义:path/{var}
。默认情况下,这将匹配除斜杠('/')之外的任何字符。
可以通过以下方式控制占位符类型:
-
使用命名类型:
alnum
、digit
、alpha
、path
(匹配一切)、any
(匹配一切,包括空字符串)、string
(默认)path/to/{var:digit} path/to/{var:string} # Same as path/to/{var}
-
使用普通正则表达式(较慢;注意,尚不支持包含大括号的正则表达式)
path/to/{var:\d\d\d}
占位符可以出现在路径的任何位置
path/to/file.{ext}
path/to/{name}.{ext}
从源代码构建
pip install cython
make compile
python setup.py develop
测试
make test
基准测试
有关详细信息,请参阅基准测试。
致谢
此包最初是作为R3 C路由的Cython端口制作的。另请参阅python-r3,这是包裹R3的第一个尝试。我对稳定性不满意,对Cython更感兴趣,因此我尝试进行第一个POC端口,并对此感到满意。
关闭
autoroutes-0.3.7.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 03ab8d7c750dd01b1ef816446416fa34290b5b595582eefb8d166040e92991e2 |
|
MD5 | 46cedc2f94ab6e8b3ee84361cbadafbd |
|
BLAKE2b-256 | 712a47d9b1d25ce3017416ba7e1565bf2f07f606d0d7121dc45c476985db601f |