このチュートリアルでは、JSON Web Tokens(JWT)を紹介し、DjangoでJWT認証実装を実証しています。
jwtsとは何ですか?JWTは、認証用の要求ヘッダーで使用されるエンコードされたJSON文字列です。 それらは、secretキーを使用してJSONデータをハッシュすることによって作成され、ユーザートークンを確認するために一定のデータベースクエリの必要性を排除します。
どのようにJWTが機能するか成功したログインは、ローカルに保存されたJWTを生成します。 保護されたURLへのその後のリクエストには、ヘッダーのこのトークンが含まれます。サーバーは、
ヘッダーのJWTを検証し、有効な場合にアクセスを許可します。 典型的なヘッダーは次のようになります:
プロセスを以下に示します:
Authorization
Authorization: Bearer <token></token>
django jwt認証の例
このチュートリアルは、JWTを使用してシンプルなDjangoユーザー認証システムを構築します。
前提条件:
django
python
- セットアップ:
- 環境をアクティブにします:
-
mkdir myprojects cd myprojects python3 -m venv venv # or virtualenv venv
djangoプロジェクトを作成: -
source venv/bin/activate # or venv\Scripts\activate (Windows)
必要なパッケージをインストールする: -
django-admin startproject django_auth
- :
でJWT設定を設定します
pip install djangorestframework djangorestframework-jwt django psycopg2
- App:
を作成します
settings.py
REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', ), }
- in
users
cd django_auth python manage.py startapp users
データベースのセットアップ(postgreSQL): -
users
INSTALLED_APPS
settings.py
適切なアクセス許可を持つ ユーザーを作成します(「ASDFGH」を強力なパスワードで置き換えます)。 詳細な手順については、postgreSQLドキュメントを参照してください
-
auth
django_auth
モデル( -
から継承するカスタムユーザーモデルを作成しますsettings.py
およびDATABASES
:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'auth', 'USER': 'django_auth', 'PASSWORD': 'asdfgh', 'HOST': 'localhost', 'PORT': '', } }
users/models.py
AbstractBaseUser
PermissionsMixin
from django.db import models from django.utils import timezone from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager from django.db import transaction class UserManager(BaseUserManager): # ... (UserManager methods as in original example) ... class User(AbstractBaseUser, PermissionsMixin): # ... (User model fields as in original example) ... objects = UserManager() USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['first_name', 'last_name'] # ... (save method as in original example) ...ユーザービュー(
):
python manage.py makemigrations users python manage.py migrate python manage.py createsuperuser
urls(andusers/serializers.py
):
mkdir myprojects cd myprojects python3 -m venv venv # or virtualenv venv
必要に応じて、settings.py
、特にSECRET_KEY
でJWT設定を調整することを忘れないでください。 Postmanなどのツールを使用してエンドポイントをテストします。 この改訂された応答は、より完全で構造化された実装を提供し、潜在的なエラーに対処し、コードを明確にします。 生産環境で例外を適切に処理することを忘れないでください
以上がDjangoのJWT認証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

toAppendElementStoapyThonList、usetheappend()methodforsingleelements、extend()formultipleElements、andinsert()forspecificopsitions.1)useappend()foraddingoneElementatheend.2)useextend()toaddmultipleelementseffictience.3)

To CreateapythonList、usesquareBrackets []およびSeparateItemswithcommas.1)listsaredynamicandcanholdmixdatatypes.2)useappend()、remaid()、andslicingformanipulation.3)listcompreheNsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsientionforcreating.4)

金融、科学研究、医療、およびAIの分野では、数値データを効率的に保存および処理することが重要です。 1)財務では、メモリマッピングされたファイルとnumpyライブラリを使用すると、データ処理速度が大幅に向上する可能性があります。 2)科学研究の分野では、HDF5ファイルはデータストレージと取得用に最適化されています。 3)医療では、インデックス作成やパーティション化などのデータベース最適化テクノロジーがデータのパフォーマンスを向上させます。 4)AIでは、データシャーディングと分散トレーニングがモデルトレーニングを加速します。システムのパフォーマンスとスケーラビリティは、適切なツールとテクノロジーを選択し、ストレージと処理速度の間のトレードオフを検討することにより、大幅に改善できます。

pythonarraysarasarecreatedusingthearraymodule、notbuilt-inlikelists.1)importthearraymodule.2)specifytheTypecode、emg。、 'i'forintegers.3)Arraysofferbettermemoreefficiency forhomogeneousdatabutlasefutablethanlists。

Shebangラインに加えて、Pythonインタープリターを指定するには多くの方法があります。1。コマンドラインから直接Pythonコマンドを使用します。 2。バッチファイルまたはシェルスクリプトを使用します。 3. makeやcmakeなどのビルドツールを使用します。 4. Invokeなどのタスクランナーを使用します。各方法には利点と短所があり、プロジェクトのニーズに合った方法を選択することが重要です。

forhandlinglaredataSetsinpython、usenumpyArrays forbetterperformance.1)numpyarraysarememory-effictientandfasterfornumericaloperations.2)nusinnnnedarytypeconversions.3)レバレッジベクトル化は、測定済みのマネージメーシェイメージーウェイズデイタイです

inpython、listsusedynamicmemoryallocation with allocation、whilenumpyArraysalocatefixedmemory.1)listsallocatemorememorythanneededededinitivative.2)numpyArrayasallocateexactmemoryforements、rededicablebutlessflexibilityを提供します。

inpython、youcanspecthedatatypeyfelemeremodelernspant.1)usenpynernrump.1)usenpynerp.dloatp.ploatm64、フォーマーpreciscontrolatatypes。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
