【问题标题】:How to set environment variable DJANGO_SETTINGS_MODULE如何设置环境变量 DJANGO_SETTINGS_MODULE
【发布时间】: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 数据帧发送到数据库?你能发布一个答案吗?

标签: python django


【解决方案1】:

假设您的服务器是 Linux,您可以通过在 bash 或 sh 控制台中输入 export DJANGO_SETTINGS_MODULE=your_value 来设置环境变量。

编辑:对于 Windows:

如果您使用的是 Powershell,则命令应为 $env:DJANGO_SETTINGS_MODULE= 'your_value'

如果您使用的是批处理(又名“cmd”),则为 set DJANGO_SETTINGS_MODULE="your_value"

【讨论】:

  • @Filipe 如果你使用的是 Powershell,命令应该是$env:DJANGO_SETTINGS_MODULE= 'your_value'
  • @Filipe 如果您使用的是批处理(又名“cmd”),则为 set DJANGO_SETTINGS_MODULE="your_value"
  • 我运行了 python manage.py shell,然后我尝试:设置 DJANGO_SETTINGS_MODULE=main_project.settings。我的语法无效
  • @Filipe 您是从 Python 控制台还是批处理控制台运行命令?后者正确,前者错误。
  • 我在cmd上跑了
猜你喜欢
  • 2017-01-01
  • 2012-08-23
  • 2014-06-03
  • 1970-01-01
  • 2020-03-19
  • 2012-07-14
  • 2014-06-28
  • 2019-07-02
相关资源
最近更新 更多