Я построил свои 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'
Я использую strict_slash из webapp2, поэтому обработчики с косой чертой в конце перенаправляются на обработчики без косой черты в конце.
#url = /index/ redirects perfectly to /index
#url = /index/test/ # KEYERROR!!
Таким образом, несмотря на то, что index/test маршрутизируется перед index/test/second, webapp2 игнорирует перенаправление для конечных косых черт и возвращает ошибку, потому что он ищет (слишком сложно) второй аргумент. Я думаю, что он должен признать, что второго аргумента нет, поэтому следуйте маршруту перенаправления strict_slash.
Это работает во всех случаях, кроме передачи аргументов. Любое понимание, кто-нибудь?