0

uri_for と名前付きルートを使用して uri を構築しようとしています。

これは私のベアボーンコードです:

app = webapp2.WSGIApplication([
(r'/screenshot_worker', 'mkt.ScreenshotWorker'),
webapp2.Route(r'/screenshot/<screenshot_key>', 
   handler='mkt.ScreenshotHandler', name='screenshot')
])

とハンドラー

class ScreenshotWorker(webapp2.RequestHandler):

    def post(self):
        d = date.today().strftime('%d%m%Y')
        key = ndb.Key('Screenshot', d)
        url = self.uri_for('screenshot', screenshot_key=key) #fails

失敗する

KeyError: "Route named 'screenshot' is not defined."
4

2 に答える 2

0

URI を定義してScreenshotWorker作成したハンドラーは ですが、スクリーンショットという名前のルートの場合、言及されているハンドラーはScreenshotHandler

于 2013-07-01T20:33:45.020 に答える
0

ルート定義に問題があるようです。コードの抜粋からのタイプミスかどうかはわかりませんが、次の行:

(r'/screenshot_worker', 'mkt.ScreenshotWorker'),

先頭の webapp2.Route (2 番目の定義が正しく使用されている) が欠落しているため、URL マップ全体が壊れている可能性があります。

于 2013-12-16T19:44:41.360 に答える