将 django 从 1.4 更新到 1.5.1 现在它扔这个:
DeprecationWarning: The 'setup_environ' function is deprecated, you likely need to update your 'manage.py'; please see the Django 1.4 release notes (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: Requested setting AUTH_USER_MODEL, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
所以,我调用了“settings.configure”并将上面的代码替换为:
from django.conf import settings
from mysite import settings as mysettings
settings.configure(mysettings, DEBUG=True)
但它仍然报错!
AttributeError: 'module' object has no attribute 'LOGGING_CONFIG'
基本上“setup_environ”可以正常工作,但是有了 DeprecationWarning,我该如何摆脱它? 显然,我将发行说明 1.4 标记为红色,但无法弄清楚这一点。
最佳答案
我最后补充说:
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,看起来它在工作!
关于python - 将 django 从 1.4 更新到 1.5.1;现在 DeprecationWarning on setup_environ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17937017/