Afraid of red status ? Please click on the link, sometimes this is not my fault ;-)
A Django library which interfaces with python-phonenumbers to validate, pretty print and convert
phone numbers. python-phonenumbers is a port of Google's libphonenumber library, which powers Android's phone number handling.
Included are:
PhoneNumber, a pythonic wrapper aroundpython-phonenumbers'PhoneNumberclassPhoneNumberField, a model fieldPhoneNumberField, a form fieldPhoneNumberPrefixWidget, a form widget
pip install django-phonenumber-field
Use it like any regular model 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)
Internally, PhoneNumberField is based upon CharField and represents the number as a string of an international phonenumber in the database (e.g
'+41524204242'). As with CharField's, it is discouraged to use null=True.
The object returned is a PhoneNumber instance, not a string. If strings are used to initialize it,
e.g. via MyModel(phone_number='+41524204242') or form handling, it has to be a phone number
with country code.