我已将现有的django 1.3迁移到django 1.5。一切似乎都好。但是,当我发出python manage.py runserver
... \ env \ lib \ site-packages \ django \ contrib \ loca lflavor__init__.py:2: DeprecationWarning:不推荐使用django.contrib.localflavor。使用 改为使用django-localflavor- *包 warnings.warn(“django.contrib.localflavor已弃用。请使用 将djan go-localflavor- *包分开。“,DeprecationWarning)
我已阅读django 1.5发行说明,我了解此应用现已弃用。我的问题是我没有在我的项目中使用localflavor应用程序。
我想另一个应用程序正在以某种方式加载它(可能是localeurl或modeltranslation?)但是我没有解决这个警告。
答案 0 :(得分: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
希望有所帮助
答案 1 :(得分:6)
这是django 1.5中的一个错误。 Django本身正在触发警告。
罪魁祸首是django/contrib/gis/utils/layermapping.py#L19
这是在django master中修复的(通过完全删除localflavor)。
您可以通过在日志配置中添加忽略来使警告静音:
import warnings
warnings.filterwarnings('ignore', r"django.contrib.localflavor is deprecated")
答案 2 :(得分:2)
刚刚处理同样的问题。我安装了新软件包(美国软件包的示例):
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