我知道当前用户的位置。它可以是以下网址之一:
(1) http://myapp.appspot.com/something/something-else/
(2) http://myapp.appspot.com/something/something-else
(3) http://myapp.appspot.com/something/something-else/page1
(4) http://myapp.appspot.com/something/something-else/page3
(实际上,地址1,2和3用于同一页面1)
我需要在这些页面上显示第2页的链接:
http://myapp.appspot.com/something/something-else/page2
问题是如何生成这样的链接?
我尝试使用相对链接:/page2
和page2
- 无效。我不确定如何创建与self.request.path
的绝对链接 - 它也无法正常工作。
答案 0 :(得分:2)
/page2
永远不会奏效;领先/使其相对于网站根而不是当前目录。
page2
应该适用于除#2之外的所有内容;如果没有尾部斜杠,something-else
将被解释为文件而不是当前目录。
一种解决方案是链接到/something/something-else/page2
,这样您的链接就不会根据用户的地址发生变化。
答案 1 :(得分:1)
import something #refers to your .py file with the template handler
...
application = webapp.WSGIApplication([
('/something/something-else/', something.SomeThingElseHandler),
('/something/something-else', something.SomeThingElseHandler),
('/something/something-else/' + '([^/]+)/', something.PageHandler),
#The above pattern will be recognized if you close the url with /
#If you want your url to end without the slash your remove it for the reg ex. like
('/something/something-else/' + '([^/]+)', something.PageHandler),
],
debug=config.DEBUG)
application = webapp.WSGIApplication([
('/something/something-else/', something.SomeThingElseHandler),
('/something/something-else', something.SomeThingElseHandler),
('/something/something-else/' + '([^/]+)/', something.PageHandler),
#The above pattern will be recognized if you close the url with /
#If you want your url to end without the slash your remove it for the reg ex. like
('/something/something-else/' + '([^/]+)', something.PageHandler),
],
debug=config.DEBUG)
在util.run_wsgi_app(application)
中,在something.py
中,您必须手动解析密钥或ID,以呈现正确的内容。