gpt4 book ai didi

python - Django环境下如何执行外部脚本

转载 作者:太空狗 更新时间:2023-10-29 22:21:12 24 4
gpt4 key购买 nike

我正在尝试在 Django 控制台使用的环境中执行用于调试和类似终端目的的外部代码片段,以便它可以连接到数据库等。

基本上,我只是出于同样的原因使用它,人们会摆弄控制台,但我使用更长的片段来输出一些格式化信息,因此在使用 IDE 操作的实际文件中使用该代码很方便。

一个答案说你可以通过执行 python manage.py shell < snippet.py 来做到这一点但我没有看到成功的结果。虽然没有报告错误,但我没有得到异常输出,而只是一系列 >>>提示。

那我该怎么做呢?

顺便说一下,我正在使用 PyCharm,以防这个 IDE 有执行此操作的简写方法或任何特殊工具。

最佳答案

我会说创建一个新的 Custom management command是实现这一目标的最佳途径。

但是你可以在 django 环境中运行你的脚本。我有时会用它来运行一次性脚本或一些简单的测试。

您必须将环境变量 DJANGO_SETTINGS_MODULE 设置到您的设置模块,然后您必须调用 django.setup()

我从 manage.py 脚本中复制了这些行,您必须设置正确的设置模块!

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings.local")
django.setup()

这是我有时使用的一个简单的模板脚本:

# -*- coding: utf-8 -*-
import os
import django

# you have to set the correct path to you settings module
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings.local")
django.setup()


from project.apps.bla.models import MyModel


def run():
# do the work
m = MyModel.objects.get(pk=1)


if __name__ == '__main__':
run()

重要的是要注意,所有项目导入必须放在 调用 django.setup() 之后。

关于python - Django环境下如何执行外部脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41825037/

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