错误的架构。Django和其他网络应用程序应生成此类线程。正确的方法是使用任务队列创建异步任务。django最受欢迎的任务队列恰巧是Celery。
然后mart:processing
页面应检查异步结果,以确定任务是否已完成。粗略的草图如下。
from celery.result import AsynResult
from myapp.tasks import my_task
...
if form.is_valid():
...
task_id = my_task()
request.session['task_id']=task_id
return HttpResponseRedirect(reverse('mart:processing'))
...
在下一页
task_id = request.session.get('task_id')
if task_id:
task = AsyncResult(task_id)