{ "info": { "author": "irakli khitarishvili", "author_email": "iraklikhitarishvili@yahoo.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django :: 1.7", "Framework :: Django :: 1.8", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3 :: Only" ], "description": "Installation\r\n============\r\n\r\n::\r\n\r\n run pip install django_phonenumbers\r\n\r\nConfigure settings.py\r\n======================\r\n\r\n::\r\n\r\n Add django_phonenumbers to INSTALLED_APPS\r\n\r\nmanage.py\r\n=========\r\n\r\n::\r\n\r\n run manage.py collectstatic\r\n\r\nsettings.py\r\n===========\r\n\r\n\r\n.. code:: python\r\n\r\n PHONE_NUMBER_REGION = 'GE' \r\n PHONE_NUMBERS_FORMATS_BY_REGION = {\r\n 'GE': {\r\n 'pattern': '(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})', 'format': '\\\\1 \\\\2-\\\\3-\\\\4', 'prefix_format': '+%s (%s)'\r\n },\r\n 'US': {\r\n 'pattern': '(\\\\d{3})(\\\\d{3})(\\\\d{4})', 'format': '\\\\1 \\\\2-\\\\3', 'prefix_format': '+%s (%s)'\r\n },\r\n }\r\n\r\n- \"PHONE_NUMBER_REGION\" determines which country region will be selected in admin's corresponding phone number field\r\n- \"PHONE_NUMBERS_FORMATS_BY_REGION\" is used in \"phone_number_format\" filter\r\n\r\nModel\r\n=====\r\n\r\n.. code:: python\r\n\r\n #models.py\r\n class MyModel(models.Model):\r\n ...\r\n phone_number = PhoneNumberField()\r\n ...\r\n\r\n def __str__(self):\r\n return str(self.phone_number)\r\n\r\n**\"phone_number\"** field's type will be **\"PhoneNumber\"**\r\n\r\n.. code:: python\r\n\r\n class PhoneNumber:\r\n def __init__(self, country_code=None, region_code=None, phone_number=None):\r\n \"\"\"\r\n :type country_code: str\r\n :type region_code: str\r\n :type phone_number: str\r\n \"\"\"\r\n self.country_code = country_code\r\n self.google_phone_number = None\r\n self.region_code = region_code\r\n self.phone_number = phone_number\r\n\r\n\"__str__\" and \"__repr__\" functions are overridden to return \"country_code\"+\" \"+\"phone_number\"\r\n\r\n**model.fields.PhoneNumberField** is using **form.fields.PhoneNumberField** in admin by default\r\n\r\n**model.fields.PhoneNumberField** and **form.fields.PhoneNumberField** is validating and formatting(in national format) entered number\r\n\r\n\r\n\r\nTemplate example\r\n================\r\n\r\n.. code:: html\r\n\r\n
  • \r\n {{ number.phone_number }}\r\n // {{ number.phone_number.region_code }}\r\n // {{ number.phone_number.country_code }}\r\n // {{ number.phone_number.phone_number }}\r\n
    \r\n {% load phone_numbers_extra %}\r\n

    Filter\r\n {{ number.phone_number|phone_number_format }}\r\n

    \r\n

    Simple tag\r\n \r\n {% phone_number number.phone_number pattern='(\\\\d{3})(\\\\d{3})(\\\\d{3})' number_format='\\\\1 \\\\2-\\\\3' prefix_format='+%s (%s)' %}\r\n \r\n

    \r\n
    \r\n
  • \r\n\r\n**phone_number_format** uses **PHONE_NUMBERS_FORMATS_BY_REGION** from settings.py to determine phone number format\r\n\r\nExample\r\n=======\r\n::\r\n\r\n'GE': { 'pattern': '(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})', 'format': '\\\\1 \\\\2-\\\\3-\\\\4', 'prefix_format': '+%s (%s)'},\r\n\r\n- 'GE' : region code\r\n- 'pattern' : ``'(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})'`` is regex. this regex will split phone number in 4 groups:\r\n - 3 digits\r\n - 2 digits\r\n - 2 digits\r\n - 2 digits\r\n\r\n- 'format' : ``'\\\\1 \\\\2-\\\\3-\\\\4'`` numbers are groups mentioned above. for example if you want to put last 2 digits in scopes you should write '\\\\1 \\\\2-\\\\3-(\\\\4)' and result will be xxx xx-xx-(xx)\r\n- 'prefix_format' : '+%s (%s)' first \"%s\" is country code second mobile operator or city code for example +995 (595) where 995 is my country code and 595 my mobile operator's code you can change formatting fore example '[%s] [%s]' will give [995] [595] this result\r\n\r\nwith this simple tag you can specify format inline\r\n\r\n.. code:: python\r\n\r\n {% phone_number number.phone_number pattern='(\\\\d{3})(\\\\d{3})(\\\\d{3})' number_format='\\\\1 \\\\2-\\\\3' prefix_format='+%s (%s)' %}", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/iraklikhitarishvili/django_phonenumbers", "keywords": "", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "django-phonenumbers", "package_url": "https://pypi.org/project/django-phonenumbers/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-phonenumbers/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/iraklikhitarishvili/django_phonenumbers" }, "release_url": "https://pypi.org/project/django-phonenumbers/1.0.1/", "requires_dist": null, "requires_python": null, "summary": "Phone number field for Django admin", "version": "1.0.1" }, "last_serial": 1666790, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "1400f631d7c1392069a7da7626568afe", "sha256": "cd617e4ee924f6492e0106d738fea619c95f3659e41dbeb97df83c1f3b51f453" }, "downloads": -1, "filename": "django_phonenumbers-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1400f631d7c1392069a7da7626568afe", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 2551270, "upload_time": "2015-08-06T10:45:17", "url": "https://files.pythonhosted.org/packages/3d/8e/ad888a32f8ed14cf660ea1160f077a729735e93d493767691b0e4e8edb77/django_phonenumbers-1.0.1-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1400f631d7c1392069a7da7626568afe", "sha256": "cd617e4ee924f6492e0106d738fea619c95f3659e41dbeb97df83c1f3b51f453" }, "downloads": -1, "filename": "django_phonenumbers-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1400f631d7c1392069a7da7626568afe", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 2551270, "upload_time": "2015-08-06T10:45:17", "url": "https://files.pythonhosted.org/packages/3d/8e/ad888a32f8ed14cf660ea1160f077a729735e93d493767691b0e4e8edb77/django_phonenumbers-1.0.1-py3-none-any.whl" } ] }