我有一个页面的代码,其中的类格式为
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错误。
答案 0 :(得分:1)
您需要做的是阅读here并按照指定的方式映射您的网址。 看看这一行:
webapp2.Route(r'/products/<product_id:\d+>', handler=ProductHandler, name='product'),
这意味着你会期望一个整数(d+
表示1个或更多个数字,顺序,如1,123,12491479等),你可以在视图中将这些信息作为product_id
< / p>
这是regex mapping
的含义。如果您不知道您的params会是什么样子,我建议您将它们存储在GET
请求中,这样您就不需要为那些
('/page2/.*', page2)
足以捕获/page2/?param=val¶m=val&...