使用电子邮件作为用户名的djangorestframework用户。
djangorestframework-emailuser的Python项目详细描述
概述
使用电子邮件作为用户名的djangorestframework用户。
功能
- 使用电子邮件作为登录的用户名
- 一个名称字段,而不是名字和姓氏
- 用于创建帐户、查看和更新帐户的终结点
- django管理员使用emailuser模型。
要求
- Python3.5+
- Django 2.2+
- djangorestframework 3.10+
安装和配置
使用pip:
安装$ pip install djangorestframework_emailuser
将'emailuser'添加到INSTALLED_APPS:
# mysite/settings.pyINSTALLED_APPS=[...'emailuser',]
将以下行添加到settings.py以覆盖django的默认用户 使用“emailuser”模型的模型:
# mysite/settings.pyAUTH_USER_MODEL='emailuser.EmailUser'
将url添加到url conf:
# mysite/urls.pyfromdjango.urlsimportpath,includeurlpatterns=[...path('accounts/',include('emailuser.urls')),]
使用
以编程方式创建用户:
fromdjango.contrib.authimportget_user_modelnormal_user=get_user_model().objects.create_user(email='me@example.com',name='My Name',password='MyPassword')superuser=get_user_model().objects.create_superuser(email='admin@example.com',name='Super Name',password='MySuperPassword')
使用终结点:
假设emailuser url设置为/accounts/:
创建用户
POST{"email": email, "name": name, "password": password} 到/accounts/users/register
更新用户
PUT{"email": email, "name": name, "password": password} 到/accounts/users/<int:pk>/ 或 PATCH要更改的属性 到/accounts/users/<int:pk>/
引用用户
将代码中的用户对象引用为字符串(对于外键):
fromdjango.confimportsettingsuser_model=settings.AUTH_USER_MODEL
直接引用用户类:
fromdjango.contrib.authimportget_user_modeluser_model=get_user_model()
有关详细信息,请参见Django docs。
属性
emailuser模型具有以下属性:
- 电子邮件
- 用作登录用户名的电子邮件地址。
- 名称
- 用户名的单个字段。
- 密码
- 密码按django设置进行哈希运算。
- 是超级用户
- 只能通过编程设置的布尔属性。
- 是员工
- 可以由管理站点或 编程。
emailuser还将子类django.contrib.auth.models.PermissionsMixin。