0

次の形式のクラスを持つページのコードがあります

class page1(webapp2.RequestHandler):
    ...code...

class page2(webapp2.RequestHandler):
    ...code...

等々。で、〜がある

application = webapp2.WSGIApplication([
    ('/', page1),
    ('/page2', page2),
    ...(other pages)...
], debug=True)

わからないURLがいくつかあるので、応募欄には載せません。私は彼らが形をしていることを知っています

'/page2/[something]'

また

'/page2/[something]/[something_else]'

などですが、それ以上は何も知りません。「/page2/[something]」を page2 クラスに一致させたい。ハイパーリンクをクリックすると、「/page2/abc」または「/page2/def」ページに移動し、それらすべてを同じページ クラスとペアにします。どうすればそれを行うことができますか?

編集:

正規表現マッピングを使用しようとしましたが、

application = webapp2.WSGIApplication([
    ('/', page1),
    ('/page2', page2),
    ('/page2/*', page2)
], debug=True)

しかし、/page2/[何か] という URL のページに移動すると、404 Not Found エラーが表示されます。

4

1 に答える 1

1

あなたがする必要があるのは、ここを読んで、指定されたようにあなたのURLをマッピングすることです. この行をチェックしてください:

webapp2.Route(r'/products/<product_id:\d+>', handler=ProductHandler, name='product'),

これは、整数を期待することを意味し ( d+1、123、12491479 などのように、1 つ以上の数字を順番に意味します)、ビューでその情報を次のように使用できます。product_id

これがregex mapping意味です。GETパラメータがどのように見えるかわからない場合は、それらのマップを指定する必要がないように、それらをリクエストに保存することをお勧めします

('/page2/.*', page2)

フォームのURLをキャッチするのに十分です/page2/?param=val&param=val&...

于 2013-08-13T09:39:14.130 に答える