django で basic 認証デコレータを簡単に実装する方法

調べていると自作系のデコレータの記事が多かったのですが、どうやライブラリで簡単にできるようでした。

参考

公式

インストール

ライブラリをインストールします。

pip install django-basicauth

認証情報作成

settings.py に辞書型でユーザーとパスワードの組み合わせを設定します。

BASICAUTH_USERS={"tom": "pass", "ben": "pass"}

実装

インポートとデコレータを設定すればベーシック認証が走ります。

from basicauth.decorators import basic_auth_required

@basic_auth_required
def index(request):
    return render(request, 'app/index.html')