跳到主要内容

实现邮箱验证唯一的功能

在本节课中,我们将解决一个关于用户注册的重要问题:确保邮箱在数据表中是唯一的。之前我们通过使用djoser的自定义注册用户接口实现了用户的注册和邮箱激活,但我们发现email字段在数据库中并不是唯一的,导致同一个邮箱可以被用来注册多个不同的用户名。

使用已经注册的邮箱,再次注册用户,如下图所示。 图31-同一个邮箱被多人注册

注册成功后,查看auth_user表,2个账号邮箱相同。如下图。

图31-邮箱相同

要解决这个问题,我们将采用以下步骤:

检查Djoser的配置和原始代码:我们首先查看了Djoser的配置和原始代码,了解其工作原理,尤其是它如何处理用户创建和序列化。

查看djanoser源码的conf.py文件,创建用户使用的是UserCreateSerializer, 如下图所示。

图31-djoser配置文件

🔒 试读结束

继续阅读完整内容

以上为免费预览。前往「Django + Vue 全栈课程」,查看后续完整讲解、案例演示和配套资料。

查看课程详情