0

我有一个页面的代码,类的形式为

class page1(webapp2.RequestHandler):
    ...code...

class page2(webapp2.RequestHandler):
    ...code...

等等。然后我有

application = webapp2.WSGIApplication([
    ('/', page1),
    ('/page2', page2),
    ...(other pages)...
], debug=True)

有些网址我不知道,所以我不能把它们放在应用程序部分。我知道他们在表格中

'/page2/[something]'

或者

'/page2/[something]/[something_else]'

等等,但除此之外,我对他们一无所知。我想将 '/page2/[something]' 与 page2 类匹配。我单击一个超链接,它会将我带到“/page2/abc”或“/page2/def”页面,我希望它们都与相同的页面类配对。我该怎么做呢?

编辑:

我尝试使用正则表达式映射,

application = webapp2.WSGIApplication([
    ('/', page1),
    ('/page2', page2),
    ('/page2/*', page2)
], debug=True)

但是当我使用 url /page2/[something] 访问任何页面时,它会给我一个 404 Not Found 错误。

4

1 回答 1

1

您需要做的是在这里阅读并按照指定的方式映射您的网址。看看这一行:

webapp2.Route(r'/products/<product_id:\d+>', handler=ProductHandler, name='product'),

这意味着您将期望一个整数(d+表示 1 个或多个数字,按顺序排列,例如 1、123、12491479 等),并且您将在视图中获得该信息product_id

这是什么regex mapping意思。如果你不知道你的参数会是什么样子,我建议你将它们存储在一个GET请求中,这样你就不需要为那些指定一个地图

('/page2/.*', page2)

足以捕获表单的 url/page2/?param=val&param=val&...

于 2013-08-13T09:39:14.130 回答