routes mapper resource

使用Mapper还可以使用resource注册路由。这种方法,可以很简便的注册一组路由。
下面介绍一下具体用法。
mapper = Mapper()
mapper.resource(member_name, collection_name, **kwargs)

注册出来的路由会有统一的路径前缀path_prefix

计算path_prefix

情况1:path_prefix在kwargs那么path_prefx=kwargs[“path_prefix”]

情况2:path_prefix不在kwargs但是设置了parent_resource, path_prefix=parent_resource[‘collection_name’]+{parent_resource[‘member_name’]_id}
例如parent_resource=dict(collection_name="/p, member_name=“mem) path_prefix=”/p/{mem_id}"
情况3:path_prefix=""

controller 不传默认使用经过处理(去掉开头和结尾的/)的collection_name

member
一个字典,每一个key是一个,对应的值为请求方式
会被自动加上member[‘edit’] = ‘GET’

路由 请求方式 处理action
自动添加
///{id}/edit GET edit
///{id}/edit.{format} GET edit
自动添加
///{id} PUT update
///{id}.{format} PUT update
///{id} DELETE delete
///{id}.{format} DELETE delete
///{id} GET show
///{id}.{format} GET show
通过member 字典添加
//{id}/
//{id}/.format

collection
一个字典,每一个key是一个,对应的值为请求方式

路由 请求方式 处理action
自动添加
// POST create
//.{format} POST create
// GET index
//.{format} GET index
根据collection的值添加
///
///.{format}

new
一个字典 每一个key是一个,对应的值为请求方式
new.update({‘new’: ‘GET’})

路由 请求方式 处理action
自动添加
///new POST new
//.{format}/new POST new
根据new的值添加
///new//
///new/.{format}/

你可能感兴趣的:(routes,python,WSGI)