Как исправить предупреждение об устаревании localflavor в django 1.5?

Я перенес существующий django 1.3 в django 1.5. все вроде нормально. Тем не менее, у меня есть предупреждение об устаревании из-за местного вкуса, когда я python manage.py runserver

...\env\lib\site-packages\django\contrib\loca lflavor__init__.py:2: Предупреждение об устаревании: django.contrib.localflavor устарело. Вместо этого используйте отдельные пакеты django-localflavor-*.
warnings.warn ("django.contrib.localflavor устарела. Вместо этого используйте отдельные пакеты djan go-localflavor- *.", DeprecationWarning)

Я прочитал заметку о выпуске django 1.5 и понимаю, что это приложение устарело. Моя проблема в том, что я не использую приложение localflavor в своем проекте.

Я предполагаю, что другое приложение загружает его как-то (может быть, localeurl или modeltranslation?), Но я не могу исправить это предупреждение.

  • Как узнать, почему отображается это предупреждение?
  • Как это исправить чистым способом?

3 ответа

Решение

Это ошибка в Django 1.5. Джанго сам вызывает предупреждение.

Виновником является https://github.com/django/django/blob/stable/1.5.x/django/contrib/gis/utils/layermapping.py

Это исправлено в мастере django (путем полного удаления localflavor).

Вы можете отключить предупреждение, добавив игнорирование в вашу конфигурацию регистрации:

import warnings
warnings.filterwarnings('ignore', r"django.contrib.localflavor is deprecated")

Обновить:

У Django теперь есть один пакет localflavors: https://pypi.python.org/pypi/django-localflavor

вот документация: http://django-localflavor.readthedocs.org/en/latest/

Я оставил остаток ответа, но он устарел сейчас.

Вы должны загрузить ВСЕ местные варианты, которые вы используете ( https://github.com/django/), на данный момент только 3 находятся на Pypi.

Затем вы можете использовать их с новым

from django_localflavor_XX import forms as XX_forms

(где хх - ваш любимый код страны)

Они решили отложить в сторону все эти библиотеки, потому что в django было много коммитов (на иностранных языках), а циклы релизов были немного длинными.

У Джанго был родной мексиканский виджет проверки номера социального страхования!

Так что это хороший шаг, но все эти пакеты должны управляться местными сообществами как можно скорее, чтобы их можно было использовать.

это срабатывает, когда импорт завершен, вы можете записать трассировку стека импорта или посмотреть, зависит ли вы от приложения django, которое его использует.

Так что откройте ваши исходники Django, перейдите в свой contrib.localflavor __init__.py файл. напечатайте трассировку стека, чтобы узнать, где находится неправильный импорт.

http://docs.python.org/2/library/traceback.html

Надеюсь, поможет

Просто имел дело с той же проблемой. Я установил новый пакет (пример для пакета США):

pip install https://github.com/django/django-localflavor-us/zipball/master

Затем я закомментировал старый код и изменил на новый пакет:

# from django.contrib.localflavor.us.us_states import STATE_CHOICES  <= old
from django_localflavor_us.us_states import STATE_CHOICES
# from django.contrib.localflavor.us.models import USStateField  <= old
from django_localflavor_us.models import USStateField

Кажется, исправили проблему. Другие языковые пакеты перечислены здесь: https://github.com/django

Другие вопросы по тегам