我只是想问一个简单的问题,因为我不知道该怎么做。
在app.yaml中,当我想声明查询字符串参数时,我该怎么做?
例如,要创建一个多语言网站,我会以这种格式创建网址:
mysite.com/english/aboutus
mysite.com/italiano/aboutus
并且在app.yaml中处理它们的脚本是
- url: /english/aboutus
script: index.py
- url: /italiano/aboutus
script: index.py
我可以通过哪种方式确定这两个网址之间的区别,以及如何在index.py中处理它们?
我知道这是一个简单的问题,我可以四处寻找引用,但它也可能对stackoverflow.com中的其他人有所帮助。
答案 0 :(得分:4)
我记得做过这样的事情:
在app.yaml put
- url: /(.*)/(.*)/?
script: main.py
并在main.py中
class MainHandler(webapp.RequestHandler):
def get(self, Urlpart1, Urlpart2):
def main():
application = webapp.WSGIApplication([('/(.*)/(.*)/', MainHandler),
('/(.*)/(.*)', MainHandler)],
debug=True)
其中Urlparts是斜杠之间的单词
答案 1 :(得分:2)
相反,您可以使用webapp框架来处理URL。
例如,在index.py
中application = webapp.WSGIApplication(
[('/english', EnglishHandler)],
[('/italiano', ItalianHandler)],
debug=True)
可在此处找到更多信息。 http://code.google.com/appengine/docs/python/gettingstarted/usingwebapp.html
答案 2 :(得分:1)
SCRIPT_NAME
environ条目包含调用脚本的路径。没有特别在GAE中对此进行测试,但这是WSGI继承自CGI的东西。
language= environ['SCRIPT_NAME'][1:].split('/', 1)[0]
if language not in ('english', 'italiano'):
language= 'english'
答案 3 :(得分:0)