我正在尝试从导入数据库设置设置.py但我得到一个错误:
回溯(最近一次呼叫): “读取”文件_数据.py“,第12行,在read\bbg中 数据库主机=settings.数据库['default']['HOST'] KeyError:'默认'
import psycopg2
import csv
from django.conf import settings
import sys
def read_bbg(file):
"""
read from csv and insert into db table
"""
settings.configure(DEBUG=True)
dbHost = settings.DATABASES['default']['HOST']
dbUsername = settings.DATABASES['default']['USER']
dbPassword = settings.DATABASES['default']['PASSWORD']
dbName = settings.DATABASES['default']['NAME']
conn_string = """host='{0}' dbname='{1}' user='{2}' password='{3}' sslmode='require' """.format(dbHost,dbName,dbUsername,dbPassword)
print(conn_string)
conn=None
"""
##rest of the code##
"""
在设置.py位于./cf_proj目录中,read_bbg函数位于./coveredfunds/read中_数据.py在
有人能帮我解决这个错误吗?在
看起来您正试图在配置的环境之外获取Django设置。我想这也是您添加
settings.configure(DEBUG=True)
的原因,因为否则您得到了一个未正确配置的异常?在如果要配置Django settings manually,则在手动配置之前,您的设置实际上是空的。您只配置了调试。你可以在那里配置一头大象
现在您的手动配置包括DEBUG和ELEPHANT,其他配置都没有。在
无论如何,@Jana的答案是正确的,但是您必须在这个文件或函数中设置默认值
^{pr2}$DJANGO_SETTINGS_MODULE
,并将其设置为"cf_proj.settings"
。在尝试将
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cf_proj")
添加到主wsgi文件中相关问题 更多 >
编程相关推荐