``## 4日目
#100daysofMiva コーディング チャレンジが始まってからすでに 4 日が経過しました。 ???
? Django の詳細: 安全なユーザー認証 API を最初から構築する!
Django スキルを 次のレベル に引き上げる準備はできていますか? ?このチュートリアルでは、Django を使用して堅牢なユーザー認証 API を作成する方法を説明します。経験豊富な開発者であっても、初心者であっても、このステップバイステップのガイドでは、ユーザー登録、ログイン、トークンベースの認証のセットアップについて説明します。
このセッションが終わるまでに、:
の方法をしっかりと理解できるようになります。
- Django プロジェクトをセットアップし、必須パッケージを構成する
- ユーザー データのシリアライザーを作成およびカスタマイズする
- ユーザー登録と認証を処理するビューを構築
- 安全な API アクセスのためのトークンベースの認証の実装
- 私たちと一緒に空白のキャンバスを強力な認証システムに変換し、Django の旅の新たな可能性を解き放ちましょう! ??
コーディングを始めましょう! ?✨
ステップ 1: Django 環境をセットアップします。
これを行うには、python がインストールされている必要があります。次を実行して、Python が インストールされている ことを確認します。
macOS/Linux:
多くの場合、Python はプリインストールされています。次を実行して確認できます:
または
必要に応じて、Homebrew (macOS) またはパッケージ マネージャー (Linux) 経由で Python をインストールします:
Windows:
python.org から Python をダウンロードしてインストールします。-
インストール中に Python を PATH に追加するには、必ずチェックボックスをオンにしてください。-
ステップ 2. 仮想環境をセットアップする:
macOS/Linux:
仮想環境を作成してアクティブ化します:
Windows:
仮想環境を作成してアクティブ化します:
ステップ 3. Django とパッケージをインストールする
それでは、パッケージのないフレームワークとは何でしょうか?...必要なパッケージをインストールしましょう。?
仮想環境がアクティブ化されている場合、Django と追加のパッケージをインストールするコマンドはすべてのオペレーティング システムで同じです:
説明:
`
- djangorestframework: これは、Django で Web API を構築するための強力で柔軟なツールキットです。
- djangorestframework-simplejwt: このパッケージは、安全な API 認証に一般的に使用される JSON Web Token (JWT) 認証を提供します。
ステップ 4. Django プロジェクトを作成して構成する
macOS/Linux/Windows:
Django プロジェクトとアプリを作成する:
必要なことを単純化しましょう:
- startproject1: このコマンドは、新しい Django プロジェクトを作成します。プロジェクトは、データベース構成、Django 固有のオプション、アプリケーション固有の設定など、Django インスタンスの設定のコレクションです。
- startapp: これにより、プロジェクト内に新しいアプリが作成されます。アプリは、特定の機能 (ユーザー管理など) を処理するプロジェクトのコンポーネントです。
ステップ 5. プロジェクト設定を更新する
すべての OS:
アプリとインストールされているパッケージを含めるように settings.py を変更します。
ファイル: auth_project/settings.py
説明しましょうか?:
INSTALLED_APPS: ここでアプリとサードパーティのパッケージを登録します。ここでは、API 機能用のrest_framework、JWT 認証用のrest_framework_simplejwt、およびユーザー関連のタスクを管理するためのユーザー (作成したアプリ) を追加します。
一度にすべての手順を知らなくても問題ありません...練習するだけで、正しく理解できるようになります
フォローしていただければ幸いです...難しいことではありません、複雑ですか?
(それがうまくいったかどうかはわかりません?)...
次に進みます...?
ここからはみんなに注目してください?
ステップ 6. シリアライザーの作成
ファイル: users/serializers.py
説明:
**シリアライザー**: Django REST フレームワークでは、シリアライザーは複雑なデータ型 (Django モデルなど) を JSON に変換する、またはその逆に変換するために使用されます。-
**RegisterSerializer**: このカスタム シリアライザーはユーザー登録を処理します。ユーザー名、パスワード、電子メールなどのフィールドが含まれます。-
**validate_password**: パスワードが特定のセキュリティ基準を満たしていることを確認します。-
**検証メソッド**: 2 つのパスワード フィールドが一致するかどうかを確認するためのカスタム検証。-
**create** メソッド: このメソッドは、新しいユーザーの作成と保存を担当します。-
ステップ 7: ビューの作成
ファイル: users/views.py
説明:
**ビュー**: Django では、ビューはユーザー リクエストを処理するためのロジックを処理します。-
**RegisterView**: このビューはユーザー登録を処理します。-
**CreateAPIView**: 新しいレコードの作成を処理するための組み込みビュー。ここでは、新しいユーザーを作成するために使用されます。-
**permission_classes**:AllowAny は、このエンドポイントが誰でも (認証されていないユーザーも含めて) アクセスできることを意味します。これは登録に必要です。-
ステップ 8: URL のセットアップ
ファイル: users/urls.py
このコードはアプリの URL
に記述されています
説明:
URL パターン: これらはビューにマップするパスを定義します。
**register/**: この URL はユーザー登録を処理します。
次に、プロジェクトのファイルに移動します: **auth_project/urls.py**
これを入力してください...?
説明:
**include('users.urls')**: これにはユーザー アプリの URL が含まれます。-
JWT ビュー:
TokenObtainPairView: このビューは、アクセス トークンとリフレッシュ トークンのペアを返します。
TokenRefreshView: このビューにより、クライアントはリフレッシュ トークンを使用してアクセス トークンをリフレッシュできます。-
**TokenObtainPairView**: このビューは、アクセス トークンとリフレッシュ トークンのペアを返します。-
**TokenRefreshView**: このビューにより、クライアントはリフレッシュ トークンを使用してアクセス トークンをリフレッシュできます。-
次までここでゆっくり休んでもいいですか?...ここからはプレッシャーはありませんよ、ふふ...
ステップ 9: 移行の実行
指示:
これを行う機能/目的は、プロジェクトで定義したモデルとフィールドに基づいてデータベース スキーマに変更を適用することです。上で調整したものは?
言い換えれば、プロジェクトを最新の状態に保ちます
ステップ 10: サーバーの実行とテスト
指示:
このコマンドは Django 開発サーバーを起動し、プロジェクトがローカルでアクセスできるようにします。 (あなたのローカルポート)
さて、これまでに何をしたか見てみましょう...
Postman または cURL を使用したテスト (この拡張機能は IDE からダウンロードできます)
郵便配達員の使用
- Postman (または任意の API テスト ツール) を開きます。
- 新しいリクエストを設定します
1. URL: http://127.0.0.1:8000/api/auth/register/
-
2.メソッド: POST-
- [本文] タブで、生の形式と JSON 形式を選択します。
- 次の JSON データを入力します:
体:
[送信]をクリックします。-
この部分に関しては、Django-Rest フレームワークはフレンドリーなユーザー インターフェイスを備えているため、他のフレームワークよりも簡単にナビゲートできます
成功すると、HTTP ステータス コード 201 Created の応答と、ユーザー データを含む JSON 応答を受け取るはずです。
トークン認証エンドポイントをテストする
JWT 認証が機能していることを確認するには、トークン エンドポイントをテストします。
郵便配達員の使用:
新しいリクエストを設定します:
メソッド: POST
URL: http://127.0.0.1:8000/api/token/
-
[本文]タブで、raw 形式と JSON 形式を選択します。-
次の JSON データを入力します-
4、[送信]をクリックします。
アクセス トークンとリフレッシュ トークンを含む JSON 応答を受信するはずです:
**
トラブルシューティングのヒント
**
サーバーが起動していません: 正しいディレクトリにいて、仮想環境がアクティブ化されていることを確認してください。
エンドポイント エラー: URL パスを再確認し、Django アプリが URL で正しく設定されていることを確認してください。
無効な応答: API エンドポイントとシリアライザーが正しく構成されていることを確認してください。
これらの手順に従うことで、Django 開発サーバーを正常に実行し、登録エンドポイントをテストし、トークンベースの認証を検証できるようになります。