我使用django-rest-auth和allauth来登录和注册我的django应用程序。我没有写任何额外的代码来登录或注册。注册成功,使用emailid和提供的密码。
我不使用用户名进行身份验证,而是使用电子邮件。
在我的可浏览的API注册我得到以下:
除了这些字段之外,我还想设置first_name和last_name(默认的auth_user表包含这些列),这样我新创建的auth_user也会设置这些字段以及email和散列密码。
如何实现这一点?这个可浏览的表单本身并不重要,但能够存储first_name和last_name是我主要需要的。
4条答案
按热度按时间5gfr0r5j1#
1.确保
settings.py
文件中包含ACCOUNT_USERNAME_REQUIRED = False
。1.对于
first_name
和last_name
,您需要编写一个自定义的RegisterSerializer
(https://github.com/iMerica/dj-rest-auth/blob/bf 168 d9830 ca 2 e6 fde 56 f83 f46 fe 48 ab 0adc 8877/dj_rest_auth/注册/序列化器。py#L197)下面是
serializers.py
示例代码1.在
settings.py
中,确保添加以引用新串行器。nkoocmlb2#
您也可以只覆盖
RegisterSerializer
上的custom_signup
方法,该方法就是用于此目的的。然后在
urls.py
中使用以下命令或在
settings.py
中设置REGISTER_SERIALIZER
qyuhtwio3#
更好的解决方案是从RegisterSerializer继承并根据需要扩展。
dnph8jn44#
对于任何需要快速解决方案的人
'
确保在设置中包含自定义注册的路径: