django 中存储手机号的字段, 使用 Django 库 pip install django-phonenumber-field[phonenumbers]
原文参见: https://www.delftstack.com/zh/howto/django/django-phone-number-field/
使用第三方 Django 应用程序的 PhoneNumberField
存储电话号码
要存储电话号码,我们可以使用实现此字段的第三方 Django 应用程序或库:PhoneNumberField
。
你可以在此处找到此库或应用程序的 GitHub 仓库。
根据官方的 README
,这个 Django 库可以验证和转换电话号码。该库与另一个 Python 库 python-phonenumbers 接口,后者是支持 Android 电话号码处理的 Google 的 libphonenumber 库的一个端口。
安装 Django 库
可以使用以下 pip
命令下载这个 Django 库:
pip install django-phonenumber-field[phonenumbers]
由于它是一个广泛的库,就大小而言,你可能需要下载较轻的版本。要下载此库的较轻版本,请使用以下命令:
pip install django-phonenumber-field[phonenumberslite]
设置 Django 库
要使用这个应用程序或库,我们必须将它添加到我们项目的 settings.py
文件中。应用程序名称必须在 INSTALLED_APPS
中输入,如下所示:
INSTALLED_APPS = [ # Other apps "phonenumber_field", ]
使用 Django 库
该库有一个模型字段 PhoneNumberField
,可用于存储电话号码。我们的模型将如下所示:
from phonenumber_field.modelfields import PhoneNumberField class UserInfo(models.Model): name = models.CharField(max_length=4096, verbose_name="人员称呼") email = models.EmailField(verbose_name="邮箱地址") phone = PhoneNumberField(unique=True, null=True, blank=True, verbose_name="电话号码") description = models.CharField(max_length=8192, verbose_name="备注描述", null=True, blank=True) def __str__(self): if not self.description: d = "" else: d = self.description if not self.phone: f = "" else: f = self.phone.__str__() return self.name + ": " + str(self.email) + " " + f + " " + d class Meta: verbose_name = "人员联系方式"
PhoneNumberField
字段在内部基于 CharField
空间,并根据国际电话号码标准以字符串的形式存储号码。
要了解有关此库的更多信息,请参阅官方文档。
posted on 2023-06-10 12:13 zhangmingda 阅读(263) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2018-06-10 异常处理
2018-06-10 反射hasattr; getattr; setattr; delattr
2018-06-10 Python 属性方法、类方法、静态方法、 特殊属性__doc__ (内建属性)