ハイチの Todos の 1 つに従って、web2py でカスタム エラー ページのデコレータを実装しようとしています。参照 - http://web2py.com/AlterEgo/default/show/75
コントローラーにインポートしてデコレーターを適切に配置できるように、モジュールとして /modules ディレクトリに保持しようとしています。
エラー処理デコレータを /modules/onerror.py として保持しています
コントローラからこのようにインポートしています(or.py)-
exec('from applications.%s.modules.onerror import onerror as onerror'
% request.application)
HTTP オブジェクトは onerror.py で利用できなかったので、私は -
from gluon.http import *
しかし、次に、次の行のように、リクエスト オブジェクトもデコレータで使用できないことを再認識しました -
filename=os.path.join(request.folder,'views/errors/error%i.html'%status)
いくつか疑問があります -
/modules ディレクトリは、そのような再利用可能なコンポーネントを保持するのに適した場所ですか?
/modulesディレクトリのモジュールは、新しいweb2pyインスタンスが作成されると自動的にロードされますか? もしそうなら、どうすればコントローラーでそれらにアクセスできますか?
コントローラからこのデコレータにリクエスト オブジェクトを渡す方法はありますか? ヒントは大歓迎です。
現在の onerror.py - http://paste.pocoo.org/show/186165/ コントローラーで使用しようとしている方法 - http://paste.pocoo.org/show/186167/
自明ではない方法でそれを行っている場合はお知らせください。