Python-Django设置文件中导入数据时出现错误

2024-07-08 15:10:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从导入数据库设置设置.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在

有人能帮我解决这个错误吗?在


Tags: csv数据frompyimport数据库defaulthost
2条回答

看起来您正试图在配置的环境之外获取Django设置。我想这也是您添加settings.configure(DEBUG=True)的原因,因为否则您得到了一个未正确配置的异常?在

如果要配置Django settings manually,则在手动配置之前,您的设置实际上是空的。您只配置了调试。你可以在那里配置一头大象

settings.configure(DEBUG=True, ELEPHANT='big')

现在您的手动配置包括DEBUG和ELEPHANT,其他配置都没有。在

无论如何,@Jana的答案是正确的,但是您必须在这个文件或函数中设置默认值DJANGO_SETTINGS_MODULE,并将其设置为"cf_proj.settings"。在

^{pr2}$

尝试将os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cf_proj")添加到主wsgi文件中

相关问题 更多 >

    热门问题