2013-03-07 104 views
8

我已經將現有的django 1.3遷移到了django 1.5。一切似乎都好。不過,我有一個因棄用警告localflavor當我勞克python manage.py runserver如何修復django 1.5中的localflavor deprecation警告?

... \ ENV \ LIB \站點包\ Django的\的contrib \ LOCA lflavor__init__.py:2: DeprecationWarning:django.contrib中。 localflavor已被棄用。改爲使用 單獨的django-localflavor- *包。
warnings.warn( 「django.contrib.localflavor已過時。使用 獨立djan細末localflavor- *包代替。」,DeprecationWarning)

我讀過的Django 1.5發佈說明我的理解此應用現在已被棄用。我的問題是我沒有在我的項目中使用localflavor應用程序。

我想象另一個應用程序以某種方式加載它(也許localeurl或模型翻譯?),但我不想修復此警告。

  • 如何知道此警告顯示的原因?
  • 如何以一種乾淨的方式修復它?
+0

由於這個相同的錯誤信息,我最終在這裏,但它實際上是由於使用localflavor,標題有點誤導,因爲這已在最新版本的Django中修復,但是並不是同一個問題......答案仍然針對這兩個問題提供。 – Nick 2013-03-11 17:50:39

回答

6

這是在Django 1.5中的錯誤。 Django本身正在觸發警告。

罪魁禍首是django/contrib/gis/utils/layermapping.py#L19

此被固定在Django主(共經由去除localflavor)。

您可以通過添加忽略你的日誌記錄配置沉默警告:

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

更新:現在

的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 

(其中xx是你最喜歡的國家代碼)

他們選用拋開所有這些庫,因爲很多的提交(外語)在django中發佈,發佈週期有點長。

Django有本地墨西哥社會安全號碼驗證小工具!

所以這是一個很好的舉措,但所有這些軟件包需要儘快由當地社區管理才能使用。

這是完成導入時,你可能想要記錄導入的堆棧軌跡,或看看如果你依賴於使用它的Django應用程序。

所以打開你的django源文件, 轉到你的contrib.localflavor __init__.py文件。 打印堆棧跟蹤以瞭解壞導入位置。

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

希望它可以幫助

+0

謝謝。我會嘗試找到什麼是導入它。 – luc 2013-03-07 18:04:37

2

就處理了同樣的問題。我安裝了新的軟件包(例如美國包裝):

PIP安裝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

+0

您可能還需要在'settings.py'的'INSTALLED_APPS'中刪除''django.contrib.localflavor''。 – Banjer 2013-08-02 16:19:22