![](https://cdn-ak-scissors.b.st-hatena.com/image/square/a7c8e035f72aeb434a6cf7069e4deb83939a5397/height=288;version=1;width=512/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fqiita-fb-fe28c64039d925349e620ba55091e078.png)
エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Django でデコレータを使って View への preprocess を実装してみる - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Django でデコレータを使って View への preprocess を実装してみる - Qiita
Python には decorator という機能があります。Java でいう annotation や .Net の attribute のような... Python には decorator という機能があります。Java でいう annotation や .Net の attribute のようなものです。 こいつを使って Djnago でリクエストを受け取って View へ処理を渡す前に事前処理を実装することができます。 たとえば、ログインが必須のリクエストで未ログインの場合は 404 を raise させたりするとか。 その場合はこんなふうに書きます。 import functools from django.http import Http404 def login_required(): def preprocess(func): @functools.wraps(func) def wrapper(*args, **kwargs): # View の Request オブジェクトを取り出す request = args[0]