A:認証基盤
(1)作用:操作するユーザモジュール開発者に提供さジャンゴ
例えば:など、認定の取り消しをサイン
(2)使用
django.contribのインポート認証
II:メソッド説明
(1)認証()
(1)ユーザ認証機能を提供
(2)認証が成功した場合には、ユーザーオブジェクトを返します。
< P >用户名称:< 入力タイプ= "テキスト" 名前= "ユーザ名" > </ P > < P >用户密码:< 入力タイプ= "text"の名= "パスワード" > </ P > < 入力タイプ= 「送信」>
django.contrib インポート認証 デフユーザー(リクエスト): もし request.method == ' POST ' : ユーザ名 = request.POST.get(' ユーザ名' ) パスワード = request.POST.get(' パスワード' )
USER_OBJ = auth.authenticate(ユーザ名=ユーザ名、パスワード= パスワード)
リターンは(要求、レンダリング' user.htmlを')
USER_OBJ = auth.authenticate(ユーザ名=ユーザ名、パスワード= パスワード) プリント(USER_OBJ) #の管理对象の 印刷(user_obj.username) #の管理 プリント(user_obj.password) #pbkdf2_sha256 $ 36000 $ qVMoNB0niRMM $ Z + 32NPaCez7yHBcLokJq + KSzmkdv3vetY + tFvhGCrC8 =密码
(2)のL ogin(HttpRequestの、ユーザ)
(1)データ入力フロントエンドを受け入れます
(2)ユーザ・セッション値の前端部に設けられています。
auth.login(リクエスト、USER_OBJ)
PS:
(1)のようなロングコードは、任意の場所で実行することができるように、ユーザ・オブジェクトを取得します
(2)ユーザーオブジェクトが存在しない場合は、匿名オブジェクトを返します。
(3)is_authenticated
(1)オブジェクトを表示するためにログインしている場合
ログインfalseの場合(2)それ以外の場合はtrueを返します
request.user.is_authenticated
(4)check_password
(1)パスワードが正しいことを確認します
(2)自動的に入力されるユーザーのパスワードは、暗号化とバックエンドのデータベースを比較します
request.user.check_password(パスワード)
(5)set_password
(1)元のパスワードの変更
(2)変更を行った後、コマンドを保存する必要があります
request.user.set_password(new_passwordを)
request.user.save()
(6)auth.logout(リクエスト)
(1)データベース・ブラウザ・データがクリアされます
(2)同様のrequest.session.flush
auth.logout(リクエスト)
(7)login_requied
django.contrib.auth.decorators インポート login_required @login_required(LOGIN_URL = ' / XXX / ') #局部配置 デフ:指数(リクエスト) パス
PS:
(1)ユーザーがログインしていない場合LOGIN_URLパラメータは奇妙なページにジャンプします指定しない場合
(2)指定は、特定のページにジャンプすることができます
#グローバルコンフィギュレーション設定ファイル LOGIN_URL = ' / XXX / '
(8)ユーザを作成します
#User.objects.create(ユーザー名=ユーザー名、パスワード=パスワード)#ユーザ名を作成し、時間を使用し作成しないでください #User.objects.create_user(ユーザー名=ユーザー名、パスワード=パスワード)#を通常のユーザー作成
User.objectsを.create_superuser(ユーザ名=ユーザ名、パスワード=パスワード、電子メール= ' [email protected] ') #(必須)スーパーユーザーの電子メールを作成します
3:カスタムフォームAUTH_USER
#クラスの継承を使用する2番目の方法は 、クラスのUserInfo(AbstractUser): #を元のテーブルとフィールドにのみイノベーションを繰り返さないでください 電話= models.BigIntegerField() アバター = models.CharField(= 32 MAX_LENGTH ) #がでなければなりません設定ファイルは、ジャンゴ伝えない #は認証デフォルトのテーブルを使用しますが、カスタムテーブルを使用し、もはやジャンゴORMを伝える AUTH_USER_MODEL = 「app01.Userinfo 」 #「クラス名アプリケーション名」
PS:
(1)データベース移行コマンドを実行する
(2)すべての認証モジュールの機能は、すべてあなたが作成したテーブルに基づいています
(3)もはや使用AUTH_USER