使用 rest-framework 和 django-allauth 设置标志删除登录和注册所需的用户名:
#settings.py
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USERNAME_REQUIRED = False
Run Code Online (Sandbox Code Playgroud)
但我仍然看到管理员注册表中的用户名字段和用户列表中的用户名字段(没有用户名的用户为空)。
我怎样才能删除它?
我正在尝试使用 rest 框架创建用户,但我可以使用相同的电子邮件创建多个用户,我如何验证已接收的电子邮件?
这是我的序列化程序代码:
from django.contrib.auth.models import User
from django.contrib.auth import get_user_model
class UserSerializer(serializers.ModelSerializer):
invoices = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
password = serializers.CharField(write_only=True)
def create(self, validated_data):
user = get_user_model().objects.create(
email=validated_data['email'],
username=validated_data['username']
)
user.set_password(validated_data['password'])
user.save()
return user
class Meta:
model = User
write_only_fields = 'password'
read_only_fields = 'id'
fields = ('id',
'username',
'email',
'password',
'invoices',
)
Run Code Online (Sandbox Code Playgroud)
提前致谢!