gpt4 book ai didi

python - 尝试在需要它的 python 脚本中定义 DJANGO_SETTINGS_MODULE 时出现错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:31 25 4
gpt4 key购买 nike

我正在开发一个 Django 项目,我有一个名为 runthis.py 的独立脚本。这个脚本处理数据库中的数据,所以它调用了很多 django 模型类。就像从 Model.models 导入模型一样。但是要在独立脚本中执行此操作,您必须使用 export DJANGO_SETTINGS_MODULE=App.settings 设置 DJANGO_SETTINGS_MODULE 环境变量。这可以在终端中轻松完成,但我想在脚本本身中进行设置...

这是我的代码:

# runthis.py
import os
os.system("export DJANGO_SETTINGS_MODULE=App.settings")
from Model.models import Model # AN ERROR HAPPENS HERE

这是我得到的错误:

django.core.exceptions.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.

有什么提示吗?这背后的整个想法是 runthis.py 脚本需要在 cron 作业上。我不知道如何在 crontab -e 中导出 env 变量,所以我只是想让它更方便并将它放入 .py 脚本本身。

任何建议都会很棒,谢谢。

最佳答案

使用 os.system 创建一个单独的子 shell。您设置了环境,但它立即消失了,因为在运行该命令后 shell 退出了。尝试使用 os.environ . (我对 Django 的了解不够,不知道这是否真的有效;您可能需要在启动 Python 进程之前实际设置环境变量。)

此外,错误消息建议调用 settings.configure 作为替代方法。你试过了吗?

关于python - 尝试在需要它的 python 脚本中定义 DJANGO_SETTINGS_MODULE 时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17266491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com