2011-10-23 4 views
2

I次のコードを持っている:それはのようなURLをキャプチャする必要がありますWSGIApplicationハンドラのデフォルト値?

class MyHandler(webapp.RequestHandler): 
    def get(self, page_text, page=1): # page default value is 1, but it doesn't work 

application = webapp.WSGIApplication([('/something/(page(\d+))?/?', MyHandler)], debug=True) 

を:

​​

最初のURLが使用されている場合(/something/)が、私はまだ1に等しいpageを持っていることを期待しますが、本当にpage Noneに等しい。なぜそれが起こるのですか?

答えて

1

ただ、いくつかの正規表現の第一人者の答えを待っている回避策:

ここ
class MyHandler(webapp.RequestHandler): 
    def get(self, page_text = None, page = 1) 

application = webapp.WSGIApplication([('/something/', MyHandler) 
            ('/something/(page(\d+))?/?',MyHandler)], 
            debug=True) 
+0

ここで、 'page'は常に1に等しくなります(例:urlが'/something/page2'の場合) –

+0

?/?を置き換えてください。 */* –

+0

@daeどうすればいいですか? – systempuntoout

0

は、私が使用してほぼ同じ構造だと、私はそれをお勧めします。

class PageHandler(BaseHandler): 
    def get(self, page_id): 

('/page/([0-9]+)', PageHandler), 

私は正確に質問に答えていませんがため、私はそれに非常に満足していますし、あなたが望むものを行うことができます(ID番号を持つページ)。

関連する問題