从视图中运行自定义管理命令

ced*_*ric 38 django

我有一个自定义管理员命令,通过电子邮件发送报告.它通常来自一个cron作业.我想要做的是在我的网络应用程序中添加一个按钮,单击该按钮将导致admin命令在那里运行,然后而不是等待cron作业调用它.我该怎么做呢?我是否必须呼叫命令行,如

python manage.py myadmincmd 
Run Code Online (Sandbox Code Playgroud)

或者我可以从视图中调用代码吗?如果我可以在视图中执行此操作而不需要突破命令行,那么它似乎会更清晰.

Dan*_*man 63

你可以使用call_command:

from django.core.management import call_command
call_command('myadmincmd')
Run Code Online (Sandbox Code Playgroud)

  • 处理命令时,我们能否在控制台上获得网页上的cron响应 (2认同)