ジャンゴ之認証

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

 

おすすめ

転載: www.cnblogs.com/SR-Program/p/11588355.html