【问题标题】:updated django from 1.4 to 1.5.1; now DeprecationWarning on setup_environ将 django 从 1.4 更新到 1.5.1;现在在 setup_environ 上的 DeprecationWarning
【发布时间】:2013-07-30 00:13:15
【问题描述】:

将 django 从 1.4 更新到 1.5.1 现在它抛出这个:

DeprecationWarning:“setup_environ”功能已弃用,您 可能需要更新您的“manage.py”;请参阅 Django 1.4 发行说明 (https://docs.djangoproject.com/en/dev/releases/1.4/)。

首先,我已经在 v1.4 上,为什么现在显示这个?嗯..

manage.py 已经有了这个:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

但很少有应用程序使用它:

from django.core.management import setup_environ
from mysite import settings
setup_environ(settings)

如果我评论上面的代码,它会抛出一个错误:

django.core.exceptions.ImproperlyConfigured:请求的设置 AUTH_USER_MODEL,但未配置设置。你必须要么 定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure() 在访问设置之前。

所以,我调用了“settings.configure”并将上面的代码替换为:

from django.conf import settings
from mysite import settings as mysettings
settings.configure(mysettings, DEBUG=True)

但它仍然抛出错误!

AttributeError: 'module' 对象没有属性 'LOGGING_CONFIG'

基本上'setup_environ' 正在工作,但有DeprecationWarning,我怎样才能摆脱它? 很明显,我把 1.4 的发行说明加红了,但无法弄清楚..

【问题讨论】:

    标签: python django updates django-1.5


    【解决方案1】:

    我最终添加:

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") 
    

    不仅在我的 manage.py 文件中,而且在我调用“setup_environ”的应用程序文件中。 所以,我替换了这段代码:

    from django.core.management import setup_environ
    from mysite import settings
    setup_environ(settings)
    

    与:

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") 
    

    没有 DeprecationWarning 并且似乎可以正常工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      • 1970-01-01
      相关资源
      最近更新 更多