python - 如何将 BIGGERkeysses 禁用到用 django 构建的身份验证应用程序中?
问题描述
我只想在身份验证应用程序登录页面中创建小写用户
解决方案
您可以制作一个自定义的用户模型 [Django-doc],添加一个验证器来检查用户名是否以小写形式编写:
# app_name/models.py
from django.contrib.auth.models import AbstractUser
from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
def validate_lower(value):
if not value.islower():
raise ValidationError(
_('The username %(value)s should be written in lowercase'),
params={'value': value},
)
class User(AbstractUser):
username_validators = [
AbstractUser.username_validator,
validate_lower
]
username = models.CharField(
_('username'),
max_length=150,
unique=True,
help_text=_('Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.'),
validators=username_validators,
error_messages={
'unique': _("A user with that username already exists."),
},
)
然后通过在设置 [Django-doc]User
中设置您定义的模型app_name.User
作为用户模型。AUTH_USER_MODEL
推荐阅读
- c# - 带有 Application Insights 目标的 NLog 不记录自定义参数和异常
- r - 获取字符串中某个单词出现频率的通用函数
- c - 在c中连接两个动态分配的char数组
- selenium - 引起:org.openqa.selenium.InvalidSelectorException:
- r - ggplot 不显示绘图,但我没有收到任何错误消息
- python - 如何返回对函数的递归调用?
- c - 读取结构内的字符时有什么问题吗?
- reactjs - 输入“提供者”
' 不见了 - python - 使用python中的构造函数限制在单例类中创建对象
- javascript - 将一个类传递给两个导航栏