我试图在Django控制台使用的环境中执行一个外部代码段,用于调试和类似终端的目的,以便它可以连接到数据库等。
基本上,我只是出于同样的原因使用它,一个人会摆弄控制台,但我使用较长的片段输出一些格式化的信息,所以它是方便的,有一个实际的文件中的代码与IDE操纵。
一个答案说你可以通过执行python manage.py shell < snippet.py
来做到这一点,但我没有看到成功的结果。虽然没有报告错误,但我没有得到异常输出,而只有一系列>>>
提示。
那我该怎么做呢
顺便说一句,我使用PyCharm,以防这个IDE有一个简短的方式来做这件事或任何特殊的工具。
3条答案
按热度按时间6gpjuf901#
我会说创建一个新的Custom management command是实现这个目标的最好方法。
但是你可以在Django环境中运行你的脚本。我有时会使用它来运行一次性脚本或一些简单的测试。
您必须将环境变量
DJANGO_SETTINGS_MODULE
设置到您的设置模块,然后必须调用django.setup()
我从
manage.py
脚本中复制了这些行,你必须设置正确的设置模块!下面是一个简单的模板脚本,我有时使用:
需要注意的是,所有项目导入必须放在调用
django.setup()
之后。fnatzsnv2#
很多时候你需要脚本来处理db或更多。但是你需要Django的方式。ORM并使用项目中的所有内容。
您可以结帐https://github.com/django-extensions/django-extensions
您可以在项目主目录中创建一个scripts文件夹,并记录一个方法运行。该应用程序为您提供了一种轻松运行这些脚本方法。怎么做。
步骤1 -安装软件包。第2步-在项目根目录下创建一个脚本文件夹,并将'django_extensions'添加到应用程序中第3步-在脚本文件夹中创建一个文件send_email_to_users.py。简单的例子。
现在从命令行你可以运行
n6lpvg4x3#
如果这只是一个剧本,
你需要设置你的环境变量,所以从IDE运行它是最简单的(让它成为同一个项目的一部分,右键单击文件,应该有一个运行选项)。
如果您正在寻找在生产环境中运行的东西,我会按照DanEEStar的建议创建一个管理命令。