Django REST framework SimpleJWT 使用教程
djangorestframework-simplejwt 项目地址: https://gitcode.com/gh_mirrors/dja/djangorestframework-simplejwt
1. 项目的目录结构及介绍
django-rest-framework-simplejwt
是一个为 Django REST framework 提供简单 JWT 认证支持的插件。以下是项目的目录结构及其简要介绍:
djangorestframework-simplejwt/
├── .github/ # GitHub 相关配置
├── docs/ # 文档资料
├── licenses/ # 许可证文件
├── rest_framework_simplejwt/ # 插件核心代码
├── scripts/ # 脚本文件
├── tests/ # 测试代码
├── .coveragerc # 测试覆盖率配置
├── .gitignore # Git 忽略文件
├── .pre-commit-config.yaml # pre-commit 配置
├── .readthedocs.yml # Read the Docs 配置
├── CHANGELOG.md # 更新日志
├── CODE_OF_CONDUCT.md # 行为准则
├── CONTRIBUTING.rst # 贡献指南
├── LICENSE.txt # MIT 许可证
├── MANIFEST.in # 打包文件列表
├── Makefile # Makefile 文件
├── README.rst # 项目简介
├── codecov.yml # CodeCov 配置
├── inlang.config.js # i18n 配置
├── pytest.ini # pytest 配置
├── setup.cfg # 打包配置
├── setup.py # 打包脚本
└── tox.ini # tox 配置
- rest_framework_simplejwt/: 包含插件的核心代码和模块。
- tests/: 包含插件的单元测试代码。
- docs/: 包含官方文档的资料。
- licenses/: 包含项目的许可证文件。
2. 项目的启动文件介绍
项目的启动主要是通过 Django 的项目来集成 django-rest-framework-simplejwt
。以下是一个简单的启动示例:
-
首先,确保你的 Django 项目已经安装了
django-rest-framework
。 -
安装
django-rest-framework-simplejwt
:pip install djangorestframework-simplejwt
-
在 Django 项目的
settings.py
文件中,添加rest_framework_simplejwt
到INSTALLED_APPS
中,并配置 JWT 认证后端:INSTALLED_APPS = [ ... 'rest_framework', 'rest_framework_simplejwt', ] REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_simplejwt.authentication.JWTAuthentication', ), ... }
-
接下来,配置 JWT 认证相关的设置,例如 Token 有效期等:
from datetime import timedelta SIMPLE_JWT = { 'ACCESS_TOKEN_LIFETIME': timedelta(hours=2), 'REFRESH_TOKEN_LIFETIME': timedelta(days=1), ... }
-
最后,运行你的 Django 项目,它现在应该支持 JWT 认证了。
3. 项目的配置文件介绍
项目的配置主要集中在 settings.py
文件中,以下是几个关键的配置项:
INSTALLED_APPS
: 确保添加了rest_framework_simplejwt
。REST_FRAMEWORK
: 设置默认的认证类为JWTAuthentication
。SIMPLE_JWT
: 包含 JWT 认证的所有配置,如 Token 的有效期、刷新 Token 的有效期、算法等。
这些配置项允许你自定义 JWT 认证的行为,以满足你的项目需求。详细的配置选项和说明可以在官方文档中找到。
djangorestframework-simplejwt 项目地址: https://gitcode.com/gh_mirrors/dja/djangorestframework-simplejwt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考