2009-06-18 61 views
3

是否可以將URL模式(正則表達式或其他映射)映射到單個RequestHandler?如果是的話我怎麼能做到這一點?將URL模式映射到WSGIApplication中的單個RequestHandler

理想我想這樣做:

application=WSGIApplication([('/*',MyRequestHandler),]) 

這樣MyRequestHandler處理髮出的所有請求。請注意,我正在開發一個概念驗證應用程序,根據定義,我不會知道所有將要到達域的URL。另外請注意,如果有問題,我在Google App Engine上執行此操作。

回答

8

你描述將正常工作模式。此外,您指定的正則表達式中的任何組都將作爲參數傳遞給處理程序方法(get,post等)。例如:

class MyRequestHandler(webapp.RequestHandler): 
    def get(self, date, id): 
    # Do stuff. Note that date and id are both strings, even if the groups are numeric. 

application = WSGIApplication([('/(\d{4}-\d{2}-\d{2})/(\d+)', MyRequestHandler)]) 

在上面的例子中,兩組(一個日期和一個id)被打破並作爲參數傳遞給你的處理函數。