【发布时间】:2016-04-14 06:13:36
【问题描述】:
在 Django 视图中,我调用了一个用于上传和导入 excel 文件的函数。
def import_log(request):
report = ""
if request.method == "POST":
file_object = request.FILES
sheet_name = request.POST["sheet_name"]
if len(file_object):
file_object = file_object["file_object"]
if len(file_object):
process_import()
context = {
"report": report
}
return render(request, "import_log.html", context)
else:
return import_upload_view(request, error="No file uploaded")
当我尝试通过单击“停止加载此页面”或关闭浏览器来停止页面时,导入过程不会停止。
这些导入文件非常大,所以我希望能够在需要时从浏览器中终止进程。
我怎样才能做到这一点?
【问题讨论】:
-
互联网不是这样运作的。
-
您实际上可以使用线程或异步任务(使用 celery)来处理您的文件加载并在必要时将其终止。
-
@Anvesh - 什么?不,你不能。 Celery 是一个服务器端进程。您无法从浏览器中阻止它
-
@Sayse 你至少可以从浏览器中引发一个事件,我的意思是。