Metadata-Version: 2.1
Name: django-phone-field
Version: 1.8.0
Summary: Lightweight model and form field for phone numbers in Django
Home-page: https://github.com/VeryApt/django-phone-field/
Author: Andrew Mackowski
Author-email: andrew@veryapt.com
Maintainer: Andrew Mackowski
Maintainer-email: andrew@veryapt.com
License: GPL
Description: # django-phone-field
        Lightweight model and form field for phone numbers in Django
        
        * View and edit phone numbers in forms and the Django admin in pretty format: `(415) 123-4567`
        * Store all phone numbers canonically in the database for easy searching & uniqueness: `+14151234567`
        * Built-in support for simple extensions: `(415) 123-4567, press 88`
        * Doesn't choke on international numbers (but doesn't format them, either)
        * Automatically format phone numbers in templates
        
        This package is simple, lightweight, and without dependencies. However, it doesn't attempt to solve fancy
        problems or deal with international phone numbers. For a full-featured phone number package, take a look at
        [`django-phonenumber-field`](https://github.com/stefanfoulis/django-phonenumber-field).
        
        ## Installation
        
        This package is designed for Python 3 and Django 1.10+. Install via:
        
        ```
        pip install django-phone-field
        ```
        
        Then add `'phone_field'` to your `INSTALLED_APPS` setting.
        
        ## Usage
        
        In your `models.py`:
        
        ```
        from django.db import models
        from phone_field import PhoneField
        
        
        class MyModel(models.Model):
            name = models.CharField(max_length=128)
            phone = PhoneField(blank=True, help_text='Contact phone number')
        ```
        
        `PhoneField` accepts standard options for a Django `CharField`. By default it sets `max_length=31`. Feel
        free to override this, set `blank=True`, etc. as you would otherwise.
        
        There is one special argument, `E164_only=False`, which adds a form validator to only accept numbers in
        the E164 format (currently, only supported for US phone numbers).
        
        In your template:
        
        ```
        User {{ obj.name }} has phone number {{ obj.phone }}
        ```
        
        Result:
        
        ```
        User Ted has phone number (415) 123-1233
        ```
        
        ## Database representation
        
        `PhoneField` attempts to coerce all phone numbers to the following format:
        
        ```
        +[country code][number]x[extension]
        +12223334444x55
        ```
        
        where the extension part is optional. If the input phone number can't be coerced to this
        format, `PhoneField` gives up and simply stores it as-is.
        
        Because all phone numbers are stored without formatting, you can set this field to be unique
        on a Django model and it will actually work.
        
        ## Extras
        
        Use the `|phone` template filter to attempt to display a formatted phone number from arbitrary text. Use
        the `|raw_phone` template filter to display the raw, un-formatted value.
        
        Use property `.is_E164` to check if a PhoneNumber object is in E164 format.
        
        Also provided are `.is_standard` (E164 but with extensions allowed) and `.is_usa`.
Keywords: django phonenumber phone number model field
Platform: OS Independent
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Framework :: Django
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
