python - 如何验证自定义用户模型用户名以防止空格
问题描述
这是我的代码:
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(
verbose_name=_('email address'), max_length=255, unique=True
)
username = models.CharField(_('username'), max_length=30, unique=True)
first_name = models.CharField(_('first name'), max_length=30, blank=True)
last_name = models.CharField(_('last name'), max_length=150, blank=True)
如何防止用户在username
字段中使用空格?
解决方案
您可以使用Django 本身使用UnicodeUsernameValidator
的验证器:
from django.contrib.auth.validators import UnicodeUsernameValidator
username = models.CharField(
_('username'), max_length=30, unique=True,
validators=[UnicodeUsernameValidator()]
)
根据您的用例,您也可以进行子类化AbstractUser
以避免重新定义某些字段。
推荐阅读
- swift - 所有 VC 的一个 UI 元素
- bash - 从一个进程中并行读取 n 个管道
- node.js - 未在 node.js 上接收发布数据
- python - Python package is installed but can't be imported
- actions-on-google - Training improvements on new actions builder
- django - 将迁移添加到源代码管理并合并 Django 中的冲突迁移
- vue.js - 使卡片内的列之间的空间变小
- c# - Entity Framework Core - 加载子实体
- laravel - Laravel如何处理文件上传:无法保存图像文件名
- python - 在 Django 应用程序中读取 JSON 文件行时出错