%global _empty_manifest_terminate_build 0 Name: python-django-phone-field Version: 1.8.1 Release: 1 Summary: Lightweight model and form field for phone numbers in Django License: GPL URL: https://github.com/VeryApt/django-phone-field/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/2c/c9/3aba7b0a07d4a1a7e1ef17c713abb4d2571e42e18326e7247a78e4e040cf/django-phone-field-1.8.1.tar.gz BuildArch: noarch Requires: python3-Django %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`. %package -n python3-django-phone-field Summary: Lightweight model and form field for phone numbers in Django Provides: python-django-phone-field BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-django-phone-field # 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`. %package help Summary: Development documents and examples for django-phone-field Provides: python3-django-phone-field-doc %description help # 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`. %prep %autosetup -n django-phone-field-1.8.1 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-django-phone-field -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Apr 11 2023 Python_Bot - 1.8.1-1 - Package Spec generated