Python django.core.exceptions.ImpropertlyConfigured:请求设置日志记录\u配置,但未配置设置
我正在尝试运行一个填充脚本,它是我从tango_with_django教程()中组合而成的,但是我得到了下面的回溯,它似乎与django 1.7中所做的更改有关?如果有人能解释一下我做错了什么,我将不胜感激Python django.core.exceptions.ImpropertlyConfigured:请求设置日志记录\u配置,但未配置设置,python,django,Python,Django,我正在尝试运行一个填充脚本,它是我从tango_with_django教程()中组合而成的,但是我得到了下面的回溯,它似乎与django 1.7中所做的更改有关?如果有人能解释一下我做错了什么,我将不胜感激 (test_env) C:\Users\WriteCode\test_env\epl>python populate_clubs.py Traceback (most recent call last): File "populate_clubs.py", line 4, in &
(test_env) C:\Users\WriteCode\test_env\epl>python populate_clubs.py
Traceback (most recent call last):
File "populate_clubs.py", line 4, in <module>
django.setup()
File "c:\Python27\lib\site-packages\django\__init__.py", line 20, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "c:\Python27\lib\site-packages\django\conf\__init__.py", line 46, in __ge
tattr__
self._setup(name)
File "c:\Python27\lib\site-packages\django\conf\__init__.py", line 40, in _set
up
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting LOGGING_CONFIG, b
ut settings are not configured. You must either define the environment variable
DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
(test_env) C:\Users\WriteCode\test_env\epl>
调用
django.setup()
应该在设置django\u设置\u模块
环境变量之后进行。只需将其移动到os.environ.setdefault()
之后的\uuuu main\uuuuuuu
中,就可以在DJANGO.setup()之前插入os.environ.setdefault(“DJANGO\u设置模块”、“mysite.SETTINGS”)
line.如果在终端中运行python
启动与Django的交互后,遇到类似错误,在适当的目录中运行python manage.py shell
可以解决问题。对于开发和调试,可以使用python包
使用pip安装
pip install standalone
使用standalone从模块中使用Django
# add the following to the top of the module.
import standalone
standalone.run('mysite.settings') # replace with your settings module.
# your code goes below the configuration
import os
import sys
# ... .. . whole module
现在,您可以将模块作为Python Django脚本运行。我在非Django模块中使用与Django相关的导入语句时遇到了这种情况。
i、 e
来自index.views导入视图,这确实给我带来了一个错误 我在设置环境时遇到了同样的问题
(我试图添加以下内容:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_project.settings")
进入Django控制台中的“启动脚本窗口”,或重写.wsgi文件,但全部失败)
我的最终解决方案:(打开终端并手动设置环境)
以下是步骤:(适用于mac)
打开终端并键入vim~/.bash_profile
添加以下行:
PATH=${PATH}:/Users/work/workspace/[virtual_environment]/bin
PYTHONPATH=${PATH}:/Users/work/PycharmProjects/[project_name]
DJANGO_SETTINGS_MODULE=[project_name].settings
类型:wq保存并退出终端
键入source~/.bash_profile以重新加载它
这次运行python manage.py
shell时,它将起作用
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'epl.settings')
应该在上面
import django
也就是说,在导入和调用django设置之前,您应该调用django\u设置\u模块
希望这会有所帮助。如果您正在运行PyCharm,对我来说有效的方法是使缓存无效并重新启动应用程序
File=>使缓存无效/重新启动…
我的virtualenv最近从Python 3.6或3.7更新为3.8。使用管理命令可能是使用脚本与django交互的最简单方法。我使用PyCharm(2017.2.3版)作为IDE遇到了同样的问题。要修复这个问题,您需要转到PyCharm->Settings->Build,Execution,Deployment->Console->Django Console
。然后在启动脚本
窗口中输入os.environ.setdefault(…)
。在PyCharm->Settings->Build,Execution,Deployment->Console->Django Console
中有一个专门的按钮来设置环境变量
。打开它并添加DJANGO\u设置\u模块
=一些项目。设置
我忘了DJANGO有自己的交互式shell。这帮我解决了!
import django