私は自分の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 リダイレクト ルートに従います。
これは、引数を渡す場合を除いて、すべての場合に機能します。何か洞察はありますか?