我是 Django 编程新手,对其架构了解有限。
我有一个 python 脚本(转换为 .exe),当使用 Django Admin 更改数据库中的某个字段时,我想运行该脚本。
我有一个带有 bool 字段的 MySQL 数据库表。使用 Djando 管理 UI 访问(修改)此表中的数据。 Django 管理 UI 将 bool 字段显示为更改表单中的复选框。我想在选中复选框( bool 值 = 'True')并且用户单击“保存”时触发 test.exe 脚本。此外,我想在用户取消选择复选框( bool 字段值 = False)并单击“保存”时终止/终止脚本。
提前致谢。
最佳答案
也许Django's signals system可以帮助你。
它允许您在保存模型之前或之后运行操作。
Django 文档 (1.7) 中的预保存操作示例:
from django.db.models.signals import pre_save
from django.dispatch import receiver
from myapp.models import MyModel
@receiver(pre_save, sender=MyModel)
def my_handler(sender, **kwargs):
# Do what you want here
注意:
只要执行您的信号代码,就不会向客户端提供任何响应。所以对于异步工作我建议你 Celery .
关于python - 从 Django 管理 UI 调用 Python 脚本(在字段值更改时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26310917/