python - pydantic 去除空白
问题描述
我正在尝试删除名字和姓氏字段以及电子邮件字段上的空格。我无法让它工作。
from pydantic import BaseModel, UUID4, SecretStr, EmailStr, constr
class UserCreate(BaseModel):
email: EmailStr[constr(strip_whitespace=True)]
password: SecretStr[constr(strip_whitespace=True)]
first_name: str[constr(strip_whitespace=True)]
last_name: str[constr(strip_whitespace=True)]
解决方案
看起来EmailStr
正在为您剥离空格,您可以直接使用constr()
with而不是:strip_whitespace=True
str
from pydantic import BaseModel, SecretStr, EmailStr, constr
class UserCreate(BaseModel):
email: EmailStr
password: SecretStr
first_name: constr(strip_whitespace=True)
last_name: constr(strip_whitespace=True)
user = UserCreate(
email=" email.address@example.com ",
password=" some password ",
first_name=" First ",
last_name=" Last ",
)
print(user)
# email='email.address@example.com' password=SecretStr('**********') first_name='First' last_name='Last'
#
# Leading and trailing whitespaces removed in email, first_name, last_name.
print(f"'{user.password.get_secret_value()}'")
#' some password '
#
# However, not in password.
推荐阅读
- python - 在 Django 中注册表单不会发布请求方法
- java - 无法从类外访问方法
- javascript - 我是否需要删除或删除我创建但未附加到 DOM 的 HTML 元素?
- jquery - CSS - 内联两个 div,第一个 div 应该在左边,第二个 div 应该在中心位置
- amazon-web-services - macOS Mojave 上的 AWS CLI 安装失败
- java - How to stop actionlistener from repeating previous actions
- java - 获取 java.lang.IllegalArgumentException: Invalid URL: Invalid URL or resource not found
- elasticsearch - Kibana 7.0.1 中的仅仪表板模式
- rest - 有什么方法可以使用 REST API 在 BitBucket 中查找有关存储库所有者的信息?
- php - Blade 模板中的内联变量