Regex 如何使用GAE组织page1/page2/pageN分页?
如果应该在url中定义以下内容,我如何理解用户正在查找的页面:Regex 如何使用GAE组织page1/page2/pageN分页?,regex,google-app-engine,Regex,Google App Engine,如果应该在url中定义以下内容,我如何理解用户正在查找的页面: http://mysite.appspot.com/something/something-else/ - this is page1 http://mysite.appspot.com/something/something-else/page1 - page1 also http://mysite.appspot.com/something/something-else/page2 - page2 http://mys
http://mysite.appspot.com/something/something-else/ - this is page1
http://mysite.appspot.com/something/something-else/page1 - page1 also
http://mysite.appspot.com/something/something-else/page2 - page2
http://mysite.appspot.com/something/something-else/pageN - pageN
我可以用WSGIApplication/app.yaml定义它吗?假设您希望使用相同的处理程序,而不管页面如何,您可以将路径的一部分视为页面变量
class MainPage(webapp.RequestHandler):
def get(self, page='page1'):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, World! Welcome to %s.' % page)
application = webapp.WSGIApplication([('/something/something-else/', MainPage),
('/something/something-else/([^/]+)', MainPage)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
app.yaml:
application: helloworld
version: 1
runtime: python
api_version: 1
handlers:
- url: /something/something-else/.*
script: helloworld.py
我不知道您可以将路径的各个部分指定为参数!太酷了。应用引擎webapp文档中有记录吗?是的,我有我的“哇,太棒了!”就在不久前。我在文档中查找要包含在答案中的报价,但找不到关于此特定功能的提及。谢谢,Kevin。由于我需要从“pageN”中提取页码(N),我认为最好将“page”作为常量部分,对吗?取决于您的用例。从'pageN'字符串-int(第[4:]页)中提取'N'非常简单。如果您将以类似的方式为每个页面生成页面内容,那么重用处理程序是有意义的,否则只需根据需要创建更多的处理程序并静态映射它们即可。但实际上我正在寻找类似于
(page(\d+))
(这不是完全正确的)-即webapp.WSGIApplication只有一行,并且只有整数(\d+)
将被传递给处理程序。实际上,我正在寻找类似于/page(\d+)
的内容。好的,(page(\d+))
可以工作。但我不喜欢我得到第二个匹配参数(第1页、第2页等),第三个是我要找的(第1页、第2页等)。和def get(self,page_text,page=1):
如果url中没有给出页面,则返回的page
不等于1。