用django自带的用户系统错误提示都是英文,前端没法直接显示出去,请问怎么解决?谢谢
代码
class User(AbstractUser):
#自定义用户注册模块
username = models.CharField(verbose_name="手机",max_length=11,unique=True)
sms_verify = models.BooleanField(verbose_name="手机号是否验证成功",default=False)
class Meta: #设置数据库表名,以及admin站点显示
db_table = "tb_user"
verbose_name = "用户"
verbose_name_plural = verbose_name
目前尝试了下面几种方法,都无效。
1,直接修改源码(无效)
class AbstractUser(AbstractBaseUser, PermissionsMixin):
"""
An abstract base class implementing a fully featured User model with
admin-compliant permissions.
Username and password are required. Other fields are optional.
"""
username_validator = UnicodeUsernameValidator()
username = models.CharField(
_("username"),
max_length=150,
unique=True,
help_text=_(
"Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
),
validators=[username_validator],
error_messages={
"unique": _("A user with that username alreadxists."),
},
)
2 重写 错误提示(无效)
class CreateUserSerializer(serializers.ModelSerializer):
# 序列化器需要校验的所有字段['id','username','password','password2']
# 模型中存在的字段['id','username','password']
# 需要序列化的字段['id','username']
# 需要反序列化的字段['id','username','password','password2']
password2 = serializers.CharField(label='确认密码', write_only=True)
token = serializers.CharField(label="JWTtoken", read_only=True)
class Meta:
model = User # 模型中映射序列化器的字段,password2 为自定义添加
fields = ['id', 'username', 'password', 'password2', 'sms_verify', 'token']
extra_kwargs = { # 修改字段选项
'sms_verify': {
'read_only': True
},
'username': {
'min_length': 11,
'max_length': 11,
'error_messages': {
'min_length': '请输入11位日本手机号',(有效)
'max_length': '请输入11位日本手机号',(有效)
"required": "Give yourself a username"(无效)
}
},
感激不尽