1

私は自分のURLを次のように構築しました:

#url = /index/test/argument/second
# Maps to the Index handler's test method and passes in the optional arguments 'argument' and 'second' 

# So the handler function looks like this:

def test(argument=None,second=None):
   print 'test'

私は webapp2 の strict_slash を使用しているので、末尾にスラッシュがあるハンドラーは末尾にスラッシュがないハンドラーにリダイレクトされます。

#url = /index/ redirects perfectly to /index
#url = /index/test/ # KEYERROR!!

そのため、index/test が index/test/second の前にルーティングされたとしても、webapp2 は末尾のスラッシュのリダイレクトを無視し、2 番目の引数を探す (難しすぎる) ため、エラーを返します。2 番目の引数がないことを認識する必要があると思うので、strict_slash リダイレクト ルートに従います。

これは、引数を渡す場合を除いて、すべての場合に機能します。何か洞察はありますか?

4

1 に答える 1

1

この問題を解決するには、ルートに一意の名前引数を設定するだけです。

于 2013-05-18T13:08:55.197 に答える