Python3 Bottleフレームワーク入門(その6)- Abort and Redirect
2017/08/25
2019/12/06
タグ: abort, Bottle, Python, redirect, 例外処理必ず発生
本記事ではアボート処理とリダイレクトについて説明する。abortの出番はWEB上のコンテンツを作る上では重要である。よくあるのはアクセス禁止、ファイルが存在しないケースだろう。特に後者はCMSの世界ではソフトウェア404を使うケースが多い。でもグーグルがソフトウェア404だと正しく認識してくれないため検索インデックスに該当ファイルが無いという認識が持てず古いインデックスを更新しません。結果的に悪い評価になってしまうことがあります。このような場合はabort関数を使用してハードウェア404を返してあげるとベターです。
アボート処理
アボート処理はWEB上で異常を示すエラーコードと共に使用するものです。
1 2 3 4 |
from bottle import route, abort @route('/404') def 404error(): abort(404, "File not Found.") |
リダイレクト処理
リダイレクト処理は何らかの理由があって、最初のURLから別のURLへ転送します。
1 2 3 4 |
from bottle import redirect @route('/wrong/url') def wrong(): redirect("/right/url") |
※この2つの関数redirect(),abort()は必ず実行するとException Errorを起こしますが気にする必要はありません。使うと発生するそのようなものと解釈してください。元々そのような仕様で作られています。つまり何らかの異常を示す際に使う関数であるからと理解するとわかり易いかもしれません。エラーを抑制したい場合はBottleのconfigでcatchallをFalseに設定することで止めることができます。
- Python Bottle Framework入門 全13回
- 1.基礎編サーバ起動
- 2.リクエストメソッド
- 3.ORM Peewee (MySQL)
- 4.ORM Peewee CRUD
- 5.Cookie And Session
- 6.Abort and Redirect
- 7.マルチスレッドWEBサーバ
- 8.デーモン化
- 9.Json
- 10.WSGI on SSL
- 11.Apache連携起動(外部WSGI) SSL接続
- 12.Apache連携起動(ReverseProxy)SSL接続
- 13.hprox連携起動(ReverseProxy)SSL接続&HTTP2対応