1
0
mirror of https://github.com/django/django.git synced 2025-06-05 03:29:12 +00:00

[1.5.x] Fixed #20774 -- Mention the new django-localflavor app as a replacement for the contrib app. Backport from master.

This commit is contained in:
Jannis Leidel 2013-07-29 10:51:54 +02:00
parent f17c2026cf
commit 02ac44b29a
2 changed files with 27 additions and 65 deletions

View File

@ -1,2 +1,5 @@
import warnings import warnings
warnings.warn("django.contrib.localflavor is deprecated. Use the separate django-localflavor-* packages instead.", DeprecationWarning)
warnings.warn("django.contrib.localflavor is deprecated. "
"Use the separate django-localflavor package instead.",
DeprecationWarning)

View File

@ -8,12 +8,13 @@ The "local flavor" add-ons
Historically, Django has shipped with ``django.contrib.localflavor`` -- Historically, Django has shipped with ``django.contrib.localflavor`` --
assorted pieces of code that are useful for particular countries or cultures. assorted pieces of code that are useful for particular countries or cultures.
Starting with Django 1.5, we've started the process of moving the code to Starting with Django 1.5, we've started the process of moving the code to an
outside packages (i.e., packages distributed separately from Django), for external package (i.e., a package distributed separately from Django), for
easier maintenance and to trim the size of Django's codebase. easier maintenance and to trim the size of Django's codebase.
The localflavor packages are named ``django-localflavor-*``, where the asterisk The new localflavor package is named ``django-localflavor``, with a main
is an `ISO 3166 country code`_. For example: ``django-localflavor-us`` is the module called ``localflavor`` and many subpackages using an
`ISO 3166 country code`_. For example: ``localflavor.us`` is the
localflavor package for the U.S.A. localflavor package for the U.S.A.
Most of these ``localflavor`` add-ons are country-specific fields for the Most of these ``localflavor`` add-ons are country-specific fields for the
@ -27,7 +28,7 @@ For example, here's how you can create a form with a field representing a
French telephone number:: French telephone number::
from django import forms from django import forms
from django_localflavor_fr.forms import FRPhoneNumberField from localflavor.fr.forms import FRPhoneNumberField
class MyForm(forms.Form): class MyForm(forms.Form):
my_french_phone_no = FRPhoneNumberField() my_french_phone_no = FRPhoneNumberField()
@ -42,13 +43,13 @@ file.
How to migrate How to migrate
============== ==============
If you've used the old ``django.contrib.localflavor`` package, follow these two If you've used the old ``django.contrib.localflavor`` package or one of the
easy steps to update your code: temporary ``django-localflavor-*`` releases, follow these two easy steps to
update your code:
1. Install the appropriate third-party ``django-localflavor-*`` package(s). 1. Install the third-party ``django-localflavor`` package from PyPI.
Go to https://github.com/django/ and find the package for your country.
2. Change your app's import statements to reference the new packages. 2. Change your app's import statements to reference the new package.
For example, change this:: For example, change this::
@ -56,9 +57,9 @@ easy steps to update your code:
...to this:: ...to this::
from django_localflavor_fr.forms import FRPhoneNumberField from localflavor.fr.forms import FRPhoneNumberField
The code in the new packages is the same (it was copied directly from Django), The code in the new package is the same (it was copied directly from Django),
so you don't have to worry about backwards compatibility in terms of so you don't have to worry about backwards compatibility in terms of
functionality. Only the imports have changed. functionality. Only the imports have changed.
@ -79,60 +80,15 @@ work.
Supported countries Supported countries
=================== ===================
The following countries have django-localflavor- packages. See the official documentation for more information:
* Argentina: https://github.com/django/django-localflavor-ar https://django-localflavor.readthedocs.org/
* Australia: https://github.com/django/django-localflavor-au
* Austria: https://github.com/django/django-localflavor-at
* Belgium: https://github.com/django/django-localflavor-be
* Brazil: https://github.com/django/django-localflavor-br
* Canada: https://github.com/django/django-localflavor-ca
* Chile: https://github.com/django/django-localflavor-cl
* China: https://github.com/django/django-localflavor-cn
* Colombia: https://github.com/django/django-localflavor-co
* Croatia: https://github.com/django/django-localflavor-hr
* Czech Republic: https://github.com/django/django-localflavor-cz
* Ecuador: https://github.com/django/django-localflavor-ec
* Finland: https://github.com/django/django-localflavor-fi
* France: https://github.com/django/django-localflavor-fr
* Germany: https://github.com/django/django-localflavor-de
* Greece: https://github.com/spapas/django-localflavor-gr
* Hong Kong: https://github.com/django/django-localflavor-hk
* Iceland: https://github.com/django/django-localflavor-is
* India: https://github.com/django/django-localflavor-in
* Indonesia: https://github.com/django/django-localflavor-id
* Ireland: https://github.com/django/django-localflavor-ie
* Israel: https://github.com/django/django-localflavor-il
* Italy: https://github.com/django/django-localflavor-it
* Japan: https://github.com/django/django-localflavor-jp
* Kuwait: https://github.com/django/django-localflavor-kw
* Lithuania: https://github.com/simukis/django-localflavor-lt
* Macedonia: https://github.com/django/django-localflavor-mk
* Mexico: https://github.com/django/django-localflavor-mx
* The Netherlands: https://github.com/django/django-localflavor-nl
* Norway: https://github.com/django/django-localflavor-no
* Peru: https://github.com/django/django-localflavor-pe
* Poland: https://github.com/django/django-localflavor-pl
* Portugal: https://github.com/django/django-localflavor-pt
* Paraguay: https://github.com/django/django-localflavor-py
* Romania: https://github.com/django/django-localflavor-ro
* Russia: https://github.com/django/django-localflavor-ru
* Slovakia: https://github.com/django/django-localflavor-sk
* Slovenia: https://github.com/django/django-localflavor-si
* South Africa: https://github.com/django/django-localflavor-za
* Spain: https://github.com/django/django-localflavor-es
* Sweden: https://github.com/django/django-localflavor-se
* Switzerland: https://github.com/django/django-localflavor-ch
* Turkey: https://github.com/django/django-localflavor-tr
* United Kingdom: https://github.com/django/django-localflavor-gb
* United States of America: https://github.com/django/django-localflavor-us
* Uruguay: https://github.com/django/django-localflavor-uy
django.contrib.localflavor.generic django.contrib.localflavor.generic
================================== ==================================
The ``django.contrib.localflavor.generic`` package, which hasn't been removed from The ``django.contrib.localflavor.generic`` package, which hasn't been removed from
Django yet, contains useful code that is not specific to one particular country Django 1.5 yet, contains useful code that is not specific to one particular country
or culture. Currently, it defines date, datetime and split datetime input or culture. Currently, it defines date, datetime and split datetime input
fields based on those from :doc:`forms </topics/forms/index>`, but with non-US fields based on those from :doc:`forms </topics/forms/index>`, but with non-US
default formats. Here's an example of how to use them:: default formats. Here's an example of how to use them::
@ -143,13 +99,16 @@ default formats. Here's an example of how to use them::
class MyForm(forms.Form): class MyForm(forms.Form):
my_date_field = generic.forms.DateField() my_date_field = generic.forms.DateField()
Of course the same package can also be found in the ``django-localflavor``
packages and it's recommended to use that instead.
Internationalization of localflavors Internationalization of localflavors
==================================== ====================================
To activate translations for a newly-created ``localflavor`` application, you To activate translations for the ``localflavor`` application, you must include
must include the application's name (e.g. ``django_localflavor_jp``) in the the application's name in the :setting:`INSTALLED_APPS` setting, so the
:setting:`INSTALLED_APPS` setting, so the internationalization system can find internationalization system can find the catalog, as explained in
the catalog, as explained in :ref:`how-django-discovers-translations`. :ref:`how-django-discovers-translations`.
If you're still using the legacy ``localflavor`` application, you must include If you're still using the legacy ``localflavor`` application, you must include
:mod:`django.contrib.localflavor` in :setting:`INSTALLED_APPS` (that will :mod:`django.contrib.localflavor` in :setting:`INSTALLED_APPS` (that will