如何检测代码是否正在Django shell中运行?
在某些情况下,我们通过Django shell(如何检测代码是否正在Django shell中运行?,django,Django,在某些情况下,我们通过Django shell(python manage.py shell)对应用程序进行手动清理。当然,这应该小心,但在这个特定的内部应用程序中,这只是最有效的工作方式 在Django shell中运行时,我想禁用一些否则会触发的行为 如何检测代码是否在shell中运行 我在想象这样的事情: if not django.SHELL: # Don't notify chat when running from the shell notifications.se
python manage.py shell
)对应用程序进行手动清理。当然,这应该小心,但在这个特定的内部应用程序中,这只是最有效的工作方式
在Django shell中运行时,我想禁用一些否则会触发的行为
如何检测代码是否在shell中运行
我在想象这样的事情:
if not django.SHELL:
# Don't notify chat when running from the shell
notifications.send(dev_user, ...)
使用不同的设置文件并在其中包含一个您可以确定的标志,然后您可以使用
manage.py
的标志来使用该设置文件
python manage.py shell --settings=settings.my_override
在新的设置文件中添加要覆盖的设置,并在正常设置文件中包含一个默认为true的设置
SEND_NOTIFICATIONS = False
编码
使用正确的设置文件调用shell
python manage.py shell --settings=settings.my_override