在PHP中,我曾经能够使用echo
命令并实时查看脚本。
例如:
Applying settings to 001...
* a second later *
Applying settings to 002...
这将在浏览器中向用户显示。 无论如何我可以在Django中使用像echo这样的命令吗? 很高兴知道我的应用程序实际上正在做某事并看到进展。
答案 0 :(得分:2)
很高兴知道我的应用程序实际上正在做某事并看到进展。
我假设您想要通知实际用户一些长时间运行的任务的进度,而不仅仅是打印调试语句。至于调试或代码跟踪,请将Django的logging subsystem与django-debugtoolbar结合使用。
有没有我可以在Django中使用像echo这样的命令?
自Django 1.5以来,有一种StreamingHttpResponse
允许你在某些情况下模仿php的echo
行为。
但是,请考虑文档中的内容:
Django专为短期请求而设计。流响应将在整个响应期间将工作进程联系起来。这可能会导致性能不佳。
那就是example。
<强>真的吗
请注意,在任何HTTP请求/响应驱动的上下文(Django专为其设计)中,推荐和稳定的方式是使用像Celery这样的异步任务处理器对于任何长期存在的过程。然后使用轮询客户端检查进度,例如正如本answer中提出的那样。