基于Django-Rest框架的用户注册
drf-registration的Python项目详细描述
Django Rest框架注册
基于Django-Rest框架的用户注册。在
检查https://drf-registration.readthedocs.io/处的文档
要求
- Django(大于等于2.0)
- Django REST框架(>;=3.8.2)
- Python(>;=3.6)
特点
- [x] 登记
- [x] 通过发送到电子邮件的令牌验证/激活帐户
- [x] 登录使用令牌
- [x] 注销
- [x] 用户配置文件
- [x] 更改密码
- [x] 重置密码
未来特色
- [x] 社交网站登录(Facebook、Google)
- [x] 通过社交登录时设置密码
- [x] 将用户帐户与社交同步
- [x] HTML电子邮件配置
- [x] 测试覆盖率(98%)
基本API设计
假设基本资源是/api/v1/accounts/
雷吉特
帖子:/register/
注册新用户
验证帐户
帖子:/verify/
通过电子邮件验证帐户
登录
后:/login/
使用用户名/电子邮件和密码登录系统
注销
帖子:/logout/
注销系统
剖面图
{4>得到获取用户配置文件
{更新用户配置文件
更改密码
放置:/change-password/
更改用户密码
设置密码
放置:/set-password/
使用社交帐户登录时设置用户密码
安装
- 在
INSTALLED_APPS
中添加drf_registration
INSTALLED_APPS = [
...
'rest_framework',
'rest_framework.authtoken',
'drf_registration',
...
]
- 在
urls.py
中包含drf_registration
的URL
设置
- 将
AUTHENTICATION_BACKEND
设置为支持通过多个自定义字段登录,并选中“登录时停用用户”:
AUTHENTICATION_BACKENDS = [
'drf_registration.auth.MultiFieldsModelBackend',
]
您可以通过更改DRF_REGISTRATION
对象中的LOGIN_USERNAME_FIELDS
来更新登录用户名字段。默认为['username, email,]
。在
- 在
REST_FRAMEWORK
配置中设置DEFAULT_AUTHENTICATION_CLASSES
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication',
],
}
设计设置
DRF_REGISTRATION = {
}
命令行
- 单元测试
make test
您可以添加ARGS="specific_folder/"
或{
- 运行pylint
make pylint
- 生成和运行文档本地服务器
make docs
访问位于http://localhost:8080的文档服务器
- 干净
make clean
测试覆盖率
- 项目
标签: