如何在线程中使用Django flash消息?



我有一个视图,触发一个长时间的执行函数,在这个函数结束时,我需要通过flash消息通知用户执行结果的。函数位于线程中. 这是我的代码…

from threading import Thread 
from django.contrib import messages
def long_time_view(request, pk):
def thread_func():
#stuff
if success:
messages.success(
request,
"Hurrah.",
)
else:
messages.error(
request,
"Upss.",
)
messages.info(request, "Started Work.")
thread = Thread(target=thread_func)
thread.start()
return redirect(request.GET.get("return_to", "/"))

问题显示通知用户作业已经开始的消息,但结果没有显示,即使在重新加载页面之后也是如此。所以我的问题是如何从线程向用户显示结果。

已经有一段时间了,但万一有人需要它,在某种程度上,我用中间件解决了这个问题

最新更新