装饰模式 - python tornado中如何给每个服务器请求动态加上装饰器?
PHP中文网
PHP中文网 2017-04-17 16:48:32
0
2
263
PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(2)
Peter_Zhu

tornado は、RequestHandler で prepare やfinish などのメソッドを提供します。 prepare は、フレームワークが get/post/... これらのメソッドを呼び出す前に呼び出されます。 finish は、応答が最終的に書き戻されるときにフレームワークによって呼び出されます。したがって、これを使用して、django のミドルウェアと同様の機能を実装できます。たとえば、ログインのチェック、権限の検証、応答の変更結果はすべてミドルウェアで完了できます。

リーリー
いいねを押す +0
伊谢尔伦

クラスの作成を制御するために使用されるメタクラスである必要があります。

ログイン後に get_user がユーザー名を返すことができる、つまりクラス B がログインしていないことを前提としたサンプル コード:

リーリー

出力:

リーリー

そして、このアイデアに従って、自分で変えてみましょう。


デコレータのバージョン:

リーリー

出力:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!