Django型号的国际电话号码字段。

django-phonenumber-field的Python项目详细描述


https://travis-ci.org/stefanfoulis/django-phonenumber-field.svg?branch=masterhttps://img.shields.io/coveralls/stefanfoulis/django-phonenumber-field/develop.svg

一个django库,它与python-phonenumbers接口来验证、漂亮地打印和转换 电话号码。python-phonenumbers是google的libphonenumber库的一个端口,它 支持android的电话号码处理。

包括:

  • PhoneNumber,一个pythonic包装,围绕python-phonenumbers'PhoneNumber
  • PhoneNumberField,模型字段
  • PhoneNumberField,表单域
  • PhoneNumberField,序列化程序字段
  • PhoneNumberPrefixWidget,一个表单小部件,用于选择地区代码并输入国家号码
  • PhoneNumberInternationalFallbackWidget,一个使用国家编号的表单小部件,除非 输入国际号码。需要添加PHONENUMBER_DEFAULT_REGION设置 为您的django设置,以了解要识别的国家号码格式。这个 设置是包含ISO-3166-1双字母国家代码的字符串。

安装

pip install django-phonenumber-field
pip install phonenumbers

作为phonenumbers包的替代,可以安装 phonenumberslitea lower memory footprint

基本用法

首先,将phonenumber_field添加到 您的settings.py文件:

INSTALLED_APPS = [
    ...
    'phonenumber_field',
    ...
]

然后,您可以像使用任何常规模型字段一样使用它:

from phonenumber_field.modelfields import PhoneNumberField

class MyModel(models.Model):
    name = models.CharField(max_length=255)
    phone_number = PhoneNumberField()
    fax_number = PhoneNumberField(blank=True)

在内部,phoneNumberField基于CharField,默认情况下 将数字表示为数据库中国际电话号码的字符串(例如 '+41524204242')。

表示可以由django设置模块中的PHONENUMBER_DB_FORMAT变量设置。 此变量必须是'E164''INTERNATIONAL''NATIONAL''RFC3966'之一。 建议使用具有全局意义的格式之一'E164''INTERNATIONAL''RFC3966''NATIONAL'格式需要设置PHONENUMBER_DEFAULT_REGION变量。

返回的对象是电话号码实例,而不是字符串。如果使用字符串初始化它, 例如,通过MyModel(phone_number='+41524204242')或表单处理,它必须是一个电话号码 有国家代码。

运行测试

需要安装毒物。运行整个测试矩阵 提供python解释器并生成组合覆盖率报告:

tox

运行特定组合:

tox -e py36-dj21,py36-dj111

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Rest DSL路由无法启动路由,因为同一端点不允许有多个使用者   jvm有没有像JConsole或VisualVM这样的工具可以告诉我“类、对象、引用变量在java中存储在哪里?”   java为什么我的列表中的所有元素看起来都一样?   java运行时。运行shell脚本的exec无法打开文件   JPopupMenu的JMenuItem的java热键   会话在Java中被覆盖   如何在java中去除字符串中的尖锐重音?   java Mockito监视一个接口,模拟它的默认方法,获取NullPointerException   javascript如何在jquery中禁用同一时间选择   将数组列表附加到现有CSV文件,但它会附加并清除存储在Java文件中的以前的数据   java从我的jar中访问pdf文件   java Sonar issue参数必须为非Null,但标记为可为Null   java Salesforce流式API:在网络故障之后和重新订阅之前获取事件   在Java 1.8.0_65上运行Play2.0应用程序时出现playframework错误   java为什么字母的ASCII由方法自动转换。toCharArray()?   java如何知道JDialog是否关闭?   java向服务器发送POST请求,服务器的响应为null,启动   java如何设置JTable中特定单元格的值?   ImagePlus中的java保存问题