Djangoユーザー認証システム:基本設定

3058 ワード

このチュートリアルは一連のチュートリアルです.読みやすいように、各チュートリアルの先頭には、すべてのチュートリアルのディレクトリインデックスが表示されます.
  • 基本設定
  • Userモデル
  • を拡張
  • 登録
  • 登録
  • ログアウトとページジャンプ
  • パスワードの変更
  • カスタム認証バックグラウンド(作成中)
  • サイトにログイン、登録などのユーザー認証機能を提供することは、一般的なニーズです.そのため、Djangoは機能が完全で、柔軟で、開拓しやすいユーザー認証システムを提供した:django.contrib.auth.このチュートリアルでは、ユーザーの登録、ログイン、パスワードの変更、パスワードの復元などの機能をどのように提供するかなど、authモジュールの基本的な使い方を説明します.auth内蔵のUserモデルをどのように拡張するか.ユーザー認証バックグラウンドをカスタマイズして、メールボックスの携帯番号などのユーザー名のログインをサポートする方法(デフォルトではユーザー名のログインのみがサポートされています).
    新しいDjangoプロジェクトを開く
    既存のプロジェクトを混乱させないように、プレゼンテーションや練習としてDjangoプロジェクトを新規作成することをお勧めします.このチュートリアルのプレゼンテーションは、最新版のDjango 1.11.1とPython 3.5に基づいていますが、他のDjangoとPythonにも適用されます.まずPython環境でDjangoをインストールします(仮想環境の使用を推奨します.仮想環境の使用方法はDjango開発環境の構築を参照してください.次にDjangoが提供するコマンドを使用して新しいプロジェクトを作成します.django_auth_exampleと名付けます.
    $ django-admin startproject django_auth_example
    

    プロジェクトが完成しました.ディレクトリ構造は以下の通りです.
    django_auth_example/
        manage.py
        django_auth_example/
            __init__.py
            settings.py
            urls.py
            wsgi.py
    

    必要な構成
    Djangoは、新しいプロジェクトを作成する際に、ユーザー認証システムを使用するために必要なすべての構成を完了しました.ただし、django-adminコマンドを使用して新しいプロジェクトを作成するか、開発中のプロジェクトを使用している可能性がありますので、settingsをもう一度チェックしたほうがいいです.pyファイルに必要なすべての構成ができているかどうか.
    まず、必要なアプリケーションがINSTALLED_APPSの構成にリストされているかどうかを確認します.
    django_auth_example/settings.py
    
    INSTALLED_APPS = [
        #       ...
        'django.contrib.auth',
        'django.contrib.contenttypes',
    ]
    

    ユーザー認証システムを使用するには、次の2つのアプリケーションをインストールする必要があります.
  • django.contrib.auth
  • django.contrib.contenttypes

  • django.contrib.contenttypesはauthモジュールのユーザ権限処理部分に依存するアプリケーションである.
    次に、ミドルウェアMIDDLEWAREの構成に次の2つのミドルウェアをリストする必要があります.
  • SessionMiddlewareユーザーがユーザーセッションを処理します.
  • AuthenticationMiddlewareは、Userオブジェクトをリクエストにバインドします(詳細は後述します).

  • すなわち、以下のような構成である.
    django_auth_example/settings.py
    
    MIDDLEWARE = [
        #       ...
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
    ]
    

    以上の構成に問題がなければ、ユーザ認証システムを正常に使用できます.
    新規アプリケーション
    現在Djangoユーザ認証システムのデフォルト特性のみを使用している場合でも、ユーザ機能に関連するコードを格納し、将来可能な機能拡張に備えたアプリケーションを新規作成することを推奨します.そこで新しいアプリケーションを作成し、アプリケーションをusersと命名することに慣れています.
    $ python manage.py startapp users
    

    新しいアプリケーションはsettingsで覚えておいてください.pyに登録してください.そうしないと、Djangoはあなたが新しいアプリケーションを作ったことを知ることができません.
    django_auth_example/settings.py
    
    INSTALLED_APPS = [
        #       ...
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'users', #         users
    ]
    

    OK、プロジェクトの基本的な準備はここで終わります.次はDjangoユーザーシステムが提供してくれた機能を使いましょう.
    まとめ
    このチュートリアルのプロジェクトコードの例はGitHub:Django Auth Exampleです.
    問題が発生した場合は、次の方法で助けを求めてください.
  • Djangoユーザー認証システム:基本的にコメントエリアのメッセージを設定します.
  • PythonzhcnのDjangoブロックで問題の詳細を説明する投稿を公開します.

  • 詳細Django関連チュートリアルでは、私の個人ブログ:夢を追う人物のブログにアクセスしてください.