Google App Engine: как поместить переменные в URL в GAE - PullRequest
2 голосов
/ 16 ноября 2009

Я пытаюсь что-то выяснить с помощью файла app.yaml.

Как мне получить "nh" и "dover" из моего URL: http://www.mysite.com/boats/nh/dover

Я предполагаю, что сделал бы что-то вроде:

- url: /boats/<state>/<city>
  script: boats.py

и затем смогу как-то получить переменные, но мне было трудно найти документацию для этого.

Заранее спасибо

Ответы [ 3 ]

8 голосов
/ 17 ноября 2009

Группы регулярных выражений в app.yaml не передаются напрямую в веб-приложения. Но если вы используете каркас веб-приложения, группы в регулярных выражениях маршрутизации действительно передаются в веб-приложения. Например:

app.yaml:

- url: /.*
  script: boats.py

boats.py:

class BoatsHandler(webapp.RequestHandler):
  def get(self, state, city):
    # Do something with state and city. They're strings, not ints, remember!

application = webapp.WSGIApplication([
    ('/boats/([^/]+)/([^/]+)', BoatsHandler),
])

def main():
  run_wsgi_app(application)

if __name__ == '__main__':
  main()
1 голос
/ 16 ноября 2009
- url: /boats/.*
  script: boats.py

, а остальную часть URL-адреса вы получите через объект request .

class BoatsHandler( webapp.RequestHandler ):
  def get(self, url_fragment=None):
   #do something with url_fragment
1 голос
/ 16 ноября 2009

Они упоминают кое-что здесь, но это немного неопределенно:

http://code.google.com/appengine/docs/python/config/appconfig.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...