Xweb-Router, xweb 路由插件

2018-10-06 16:29:11 +08:00
 prasanta

xweb-router

Router middleware for xweb

基本用法

from xweb import App

from xweb_router import Router

app = App()
router = Router()
app.use(router)

@router.get('/')
async def home(ctx):
    ctx.body = "Home"

if __name__ == '__main__':
    app.listen(8000)

路由插件

from xweb import App

from xweb_router import Router

app = App()
router = Router()
app.use(router)


@router.use('/')
async def middleware(ctx, fn):
    """Router Middleware"""
    print('middleware')
    await fn()
    
@router.get('/')
async def home(ctx):
    ctx.body = "Home"
    
if __name__ == '__main__':
    app.listen(8000)

动态参数

from xweb import App

from xweb_router import Router

app = App()
router = Router()

@router.get('/{name}')
async def hello(ctx):
    """URL parameters"""
    ctx.body = f"Hello {ctx.params.name}"

if __name__ == '__main__':
    app.listen(8000)

嵌套路由


from xweb import App

from xweb_router import Router

app = App()
router = Router()
nested = Router()

app.use(router)

router.use('/post')(nested)


@nested.get('/index')
async def index(ctx):
    ctx.body = "Nested Index"


if __name__ == '__main__':
    app.listen(8000)

Github: xweb-router

1350 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/495186

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX