GAE:webapp.RequestHanderls得到什么(* args)

时间:2010-10-24 07:45:33

标签: python google-app-engine

我阅读了文件

http://code.google.com/appengine/docs/python/tools/webapp/requesthandlerclass.html

但我找不到args参数的任何信息

1 个答案:

答案 0 :(得分:6)

取决于您的网址匹配中的正则表达式。例如:

def main():
    application = webapp.WSGIApplication([
         ('/rechnungsdatencontainer/([a-z0-9_-]+)', RechnungsdatencontainerHandler),
         ('/empfaenger/([A-Za-z0-9_-]+)/rechnungen/([A-Za-z0-9_-]+)\.?(json|pdf|xml|invoic|html)?', RechnungslisteHandler),
         ('/admin/credentials', CredentialsHandler),
         ('/', Homepage)],
        debug=True)
    util.run_wsgi_app(application)

RechnungsdatencontainerHandler.get()看到一个参数,RechnungslisteHandler().get()看到三个,CredentialsHandlerHomepage没有参数。

class RechnungsdatencontainerHandler(webapp.RequestHandler):
    def get(containerid):
        ....

class RechnungslisteHandler(webapp.RequestHandler):
    def get(empfaenger, rechung, fmt):
        ....

基本上,RegExp中的每对(大括号)都会产生一个get参数。

假设您也可以使用命名参数,例如(?P<kundennr>[A-Za-z0-9_-]+)来获取get函数中的kwargs,但我还没有尝试过。