使用电子邮件作为用户名的djangorestframework用户。

djangorestframework-emailuser的Python项目详细描述


https://travis-ci.org/simlist/django-rest-framework-emailuser.svg?branch=masterhttps://coveralls.io/repos/github/simlist/django-rest-framework-emailuser/badge.svg?branch=master

概述

使用电子邮件作为用户名的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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java这个mysql查询是对还是错?   Java中字符串列表的最大值   二维码Zxing NotFoundException Java   循环Java蛇眼程序错误   JDBCJava。sql。SQLException:[Microsoft][ODBC驱动程序管理器]描述符索引无效   java如何增加if语句中的变量以用于另一个语句?   多线程java。执行多线程数据库应用程序时发生lang.NullPointerException   java为什么HashMap比HashSet快?   java执行与接收到的字符串相对应的方法   java在我的场景中使用ModelMapper的最佳方法   java JSoup从元素列表创建数组列表   字符串Java将文件路径转换为图像   java为什么在windows上尝试启动Grails 3+时出现禁止<403>错误?   java Get实体组计数始终返回0   java正在遍历队列的concurrentHashMap,以查看是否所有队列都是空的,而其他线程可能会添加到队列中   使用ApachePOI批量读取XLSX文件   java如何摆脱arrayList中的匿名对象?   尝试重写NamingProxy内的函数时出现java错误[构造函数的参数0]   java引用Maven jar中JSSE的密钥库文件