- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
登录页面中有三个字段(用户名、电子邮件、密码),但我只想要两个字段(电子邮件、密码)。如何从登录页面中删除用户名字段。提前致谢
models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
name = models.CharField(max_length=255)
def __str__(self):
return self.email
forms.py
from django import forms
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from .models import CustomUser
class CustomUserCreationForm(UserCreationForm):
class Meta(UserCreationForm):
model = CustomUser
fields = ('username','email')
class CustomUserChangeForm(UserChangeForm):
class Meta:
model = CustomUser
fields = UserChangeForm.Meta.fields
serializer.py
from rest_framework import serializers
from . import models
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = models.CustomUser
fields = ('email', 'username', )
最佳答案
删除字段 username
从登录端点
您可以删除字段 username
通过覆盖 LoginSerializer
像这样:
from rest_auth.serializers import LoginSerializer as RestAuthLoginSerializer
class LoginSerializer(RestAuthLoginSerializer):
username = None
settings.py
中添加以下内容:
REST_AUTH_SERIALIZERS = {'LOGIN_SERIALIZER': 'path.to.your.LoginSerializer'}
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
from rest_framework import serializers, generics
from . import models
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = models.CustomUser
fields = ('email', 'password')
class UserChangeView(generics.UpdateAPIView):
queryset = models.CustomUser.objects.all()
serializer_class = UserSerializer
关于python - 如何从 django userchangeform 的登录页面中删除用户名字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55120215/
这是我关于 SO 的第二篇文章,也是我关于 Django 的第二篇文章——请保持温柔。 我正在研究一个简单的用户模型。用户应该能够注册该网站,并且注册后他们应该能够在登录时更改其帐户设置。但是,如果我
我正在制作一个自定义用户表单,用户可以在其中更改一些详细信息。它有两个错误,但我无法理解问题所在。 第一个问题是表单没有填写用户详细信息。而且好像是因为form初始化的时候self是空的,为什么? 第
登录页面中有三个字段(用户名、电子邮件、密码),但我只想要两个字段(电子邮件、密码)。如何从登录页面中删除用户名字段。提前致谢 models.py from django.db import mode
我正在使用 django 制作一个网站。我正在 YouTube 上学习“如何让 super 用户使用表单更改帐户信息”。但是,我在编辑页面时遇到问题。 管理应用中的member_management.
首先是我在这里发表的第一篇实际文章,所以请保持温和。 我已经使用 Django 几个星期了,通过在这里和在谷歌上搜索已经克服了大部分麻烦,但是当我试图允许用户编辑他们的个人资料时,我似乎被卡住了。特别
我正在尝试覆盖默认设置“具有该用户名的用户已存在。”在我的自定义 UserChangeForm 表单中输入现有用户名时显示的错误消息。使用的Django版本:1.6.1 这是我的代码: class C
我正在使用 Django 1.4 和 django-registration 开发一个网站 我希望允许用户使用任意 Unicode 字符创建用户名。目前,如果有人尝试使用非拉丁字符注册,他将看到一条错
我是一名优秀的程序员,十分优秀!