読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

bottleのredirectとabort

python

処理エラーやURLミスなどのときに活用したい一連の処理。
最小構成のbottleはこういうモノも外付けパッケージです。
種類としては、特定のURLに飛ばすredirectと自動生成タイプのabortがあります。

実際のところ

abort

特定のエラーコード付きでエラーページを出したい場合はabortを使います

from bottle import route, abort
@route('/restricted')
def restricted():
    abort(401, "Sorry, access denied.")

Redirect

一方、レスポンスコードは兎も角、
特定のURLに直に飛ばしたい場合はredirectを使います。
古いページを隠蔽したい場合なんかでも使い道がありますね。

from bottle import redirect
@route('/wrong/url')
def wrong():
    redirect("/right/url")

優先処理されるので注意!

以下の記述によると自前で用意したコールバックより処理が優先されるようなので注意してください。

Both functions will interrupt your callback code by raising an HTTPError exception.