当前位置: 首页>>代码示例>>Python>>正文


Python Router.build方法代码示例

本文整理汇总了Python中webapp2.Router.build方法的典型用法代码示例。如果您正苦于以下问题:Python Router.build方法的具体用法?Python Router.build怎么用?Python Router.build使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在webapp2.Router的用法示例。


在下文中一共展示了Router.build方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_with_variables_name_and_handler

# 需要导入模块: from webapp2 import Router [as 别名]
# 或者: from webapp2.Router import build [as 别名]
    def test_with_variables_name_and_handler(self):
        router = Router(None, [
            PathPrefixRoute('/user/<username:\w+>', [
                HandlerPrefixRoute('apps.users.', [
                    NamePrefixRoute('user-', [
                        Route('/', 'UserOverviewHandler', 'overview'),
                        Route('/profile', 'UserProfileHandler', 'profile'),
                        Route('/projects', 'UserProjectsHandler', 'projects'),
                    ]),
                ]),
            ])
        ])

        path = '/user/calvin/'
        match = ('apps.users.UserOverviewHandler', (), {'username': 'calvin'})
        self.assertEqual(router.match(Request.blank(path)), match)
        self.assertEqual(router.build('user-overview', Request.blank('/'), match[1], match[2]), path)

        path = '/user/calvin/profile'
        match = ('apps.users.UserProfileHandler', (), {'username': 'calvin'})
        self.assertEqual(router.match(Request.blank(path)), match)
        self.assertEqual(router.build('user-profile', Request.blank('/'), match[1], match[2]), path)

        path = '/user/calvin/projects'
        match = ('apps.users.UserProjectsHandler', (), {'username': 'calvin'})
        self.assertEqual(router.match(Request.blank(path)), match)
        self.assertEqual(router.build('user-projects', Request.blank('/'), match[1], match[2]), path)
开发者ID:martinc,项目名称:webapp-improved,代码行数:29,代码来源:test_routing_extra.py

示例2: test_router_build_error

# 需要导入模块: from webapp2 import Router [as 别名]
# 或者: from webapp2.Router import build [as 别名]
    def test_router_build_error(self):
        router = Router()
        router.add(Route('/<year:\d{4}>', None, name='year-page'))

        url = router.build('year-page', Request.blank('/'), (), dict(year='2010'))
        self.assertEqual(url, '/2010')

        self.assertRaises(KeyError, router.build, 'i-dont-exist', Request.blank('/'), (), dict(year='2010'))
开发者ID:Arachnid,项目名称:webapp-improved,代码行数:10,代码来源:test_router.py

示例3: test_router_build_error

# 需要导入模块: from webapp2 import Router [as 别名]
# 或者: from webapp2.Router import build [as 别名]
    def test_router_build_error(self):
        router = Router(None)
        router.add(Route("/<year:\d{4}>", None, name="year-page"))

        url = router.build("year-page", Request.blank("/"), (), dict(year="2010"))
        self.assertEqual(url, "/2010")

        self.assertRaises(KeyError, router.build, "i-dont-exist", Request.blank("/"), (), dict(year="2010"))
开发者ID:strogo,项目名称:webapp-improved,代码行数:10,代码来源:test_routing.py

示例4: test_set_builder

# 需要导入模块: from webapp2 import Router [as 别名]
# 或者: from webapp2.Router import build [as 别名]
    def test_set_builder(self):
        req = Request.blank('/')
        def custom_builder(router, request, name, args, kwargs):
            self.assertEqual(request, req)
            return 'http://www.google.com'

        router = Router(None)
        router.set_builder(custom_builder)
        res = router.build(req, '', (), {})
        self.assertEqual(res, 'http://www.google.com')
开发者ID:karlwmacmillan,项目名称:webapp2,代码行数:12,代码来源:routing_test.py

示例5: test_simple

# 需要导入模块: from webapp2 import Router [as 别名]
# 或者: from webapp2.Router import build [as 别名]
    def test_simple(self):
        SUBDOMAIN_RE = '^([^.]+)\.app-id\.appspot\.com$'

        router = Router(None, [
            DomainRoute(SUBDOMAIN_RE, [
                Route('/foo', 'FooHandler', 'subdomain-thingie'),
            ])
        ])

        match = router.match(Request.blank('/foo'))
        self.assertEqual(match, None)

        match = router.match(Request.blank('http://my-subdomain.app-id.appspot.com/foo'))
        self.assertEqual(match, ('FooHandler', (), {'_host_match': ('my-subdomain',)}))

        match = router.match(Request.blank('http://another-subdomain.app-id.appspot.com/foo'))
        self.assertEqual(match, ('FooHandler', (), {'_host_match': ('another-subdomain',)}))

        url = router.build('subdomain-thingie', None, (), {'_netloc': 'another-subdomain.app-id.appspot.com'})
        self.assertEqual(url, 'http://another-subdomain.app-id.appspot.com/foo')
开发者ID:martinc,项目名称:webapp-improved,代码行数:22,代码来源:test_routing_extra.py


注:本文中的webapp2.Router.build方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。