【发布时间】:2020-12-01 08:57:57
【问题描述】:
我一直在尝试将 pandas 数据帧发送到 django 数据库,但当我尝试这样做时:
user = settings.DATABASES['default']['USER']
password = settings.DATABASES['default']['PASSWORD']
database_name = settings.DATABASES['default']['NAME']
# host = settings.DATABASES['default']['HOST']
# port = settings.DATABASES['default']['PORT']
database_url = 'postgresql://{user}:{password}@localhost:5432/{database_name}'.format(
user=user,
password=password,
database_name=database_name,
)
engine = create_engine(database_url, echo=False)
我明白了:
ImproperlyConfigured: Requested setting DATABASES,
but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE
or call settings.configure() before accessing settings.
我能做些什么来解决这个问题?
编辑:当我在python mamange.py shell 上尝试以下命令时:
set DJANGO_SETTINGS_MODULE=main_project.settings
我明白了:
File "<ipython-input-5-d6c3b615ad79>", line 1
set DJANGO_SETTINGS_MODULE=main_project.settings
^
SyntaxError: invalid syntax
谢谢
【问题讨论】:
-
不完全清楚为什么需要自己设置连接。 Django已经有这个逻辑。您唯一需要实现的是自定义模型字段来(反)序列化数据框。
-
@KenKinder 我的 wsgi.py 文件中有这个:os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'main_project.settings'),但仍然无法正常工作
-
@WillemVanOnsem 如何按照您的建议将我的 pandas 数据帧发送到数据库?你能发布一个答案吗?