Djangoの認証メモ

Document

コマンドラインでのユーザ管理

コマンドラインでユーザの登録方法 *
コマンドラインでパスワードの変更 *

ログイン・ログアウト

LOGIN *

from django.contrib.auth import authenticate, login
user = authenticate(username=username, password=password)
if user is not None:
    if user.is_active:
        login(request, user)

LOGOUT *

from django.contrib.auth import logout
logout(request)

ログイン状態にあるか確認する *

request.user.is_authenticated


view関数にログインが必要な制約をつける

login_required(redirect_field_name='next', login_url=None)デコレーターを利用する *

view関数に権限が必要な制約をつける

permission_required(perm, login_url=None, raise_exception=False)デコレーターを利用する *
permissionについて *
methodに対してデコレートする際はmethod_decoratorを使用する

Userモデルのテーブル

CREATE TABLE "auth_user" (
    "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
    "password" varchar(128) NOT NULL,
    "last_login" datetime NULL,
    "is_superuser" bool NOT NULL,
    "first_name" varchar(30) NOT NULL,
    "last_name" varchar(30) NOT NULL,
    "email" varchar(254) NOT NULL,
    "is_staff" bool NOT NULL,
    "is_active" bool NOT NULL,
    "date_joined" datetime NOT NULL,
    "username" varchar(30) NOT NULL UNIQUE
)



Djangoメモ