Django REST Framework API Key 项目教程
1. 项目的目录结构及介绍
djangorestframework-api-key/
├── djangorestframework_api_key/
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── checks.py
│ ├── compat.py
│ ├── config.py
│ ├── management/
│ │ └── commands/
│ │ └── generate_api_key.py
│ ├── migrations/
│ │ ├── 0001_initial.py
│ │ └── __init__.py
│ ├── models.py
│ ├── permissions.py
│ ├── serializers.py
│ ├── tests/
│ │ ├── __init__.py
│ │ ├── test_admin.py
│ │ ├── test_checks.py
│ │ ├── test_compat.py
│ │ ├── test_config.py
│ │ ├── test_management.py
│ │ ├── test_models.py
│ │ ├── test_permissions.py
│ │ └── test_serializers.py
│ └── views.py
├── docs/
│ ├── conf.py
│ ├── index.rst
│ └── make.bat
├── examples/
│ ├── api_key_example/
│ │ ├── __init__.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ └── manage.py
├── LICENSE
├── MANIFEST.in
├── README.md
├── requirements.txt
├── setup.cfg
├── setup.py
└── tox.ini
目录结构介绍
djangorestframework_api_key/
: 核心代码目录,包含模型、权限、管理界面等。admin.py
: 管理界面的配置。models.py
: API Key 模型定义。permissions.py
: 权限类定义。migrations/
: 数据库迁移文件。tests/
: 测试代码。
docs/
: 文档目录,包含 Sphinx 文档配置和源文件。examples/
: 示例项目目录,包含一个简单的 Django 项目示例。LICENSE
: 项目许可证。README.md
: 项目说明文档。setup.py
: 安装脚本。
2. 项目的启动文件介绍
示例项目启动文件
在 examples/api_key_example/
目录下:
manage.py
: Django 项目管理脚本,用于启动开发服务器、运行迁移等。wsgi.py
: WSGI 应用程序入口点,用于生产环境部署。
使用方法
- 进入示例项目目录:
cd examples/api_key_example/
- 启动开发服务器:
python manage.py runserver
3. 项目的配置文件介绍
示例项目配置文件
在 examples/api_key_example/
目录下:
settings.py
: Django 项目配置文件,包含数据库配置、应用注册、中间件等。
关键配置项
-
应用注册:
INSTALLED_APPS = [ ... 'rest_framework', 'rest_framework_api_key', ... ]
-
权限配置:
REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework_api_key.permissions.HasAPIKey', ] }
-
数据库配置(示例使用 SQLite):
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
通过以上配置,可以启用 djangorestframework-api-key
并进行 API Key 认证。