在django的VIEW中,操作被顺序执行,当使用return render(request,'XXX.html')返回页面给用户后,VIEW即中止。如果VIEW需要执行大量耗时的循环任务,那么程序上就必须在执行完成后才能调用return render(request,'XXX.html')返回页面给用户。那么,如果时间过长就会造成页面超时,甚至客户端因响应超时会重复多次POST表单提交上来,导致VIEW任务被多次执行。那么如果需要收到用户POST上来的表单后就返回页面给用户,将需要大量耗时的任务操作交给后台继续执行,就需要用到异步操作。
异步解法:django-background-tasks
是一个 Django 应用,它允许你轻松地在 Django 中执行后台任务。这些任务将在单独的线程中异步运行,而不会阻塞你的 Web 请求。以下是如何在 Django 项目中使用 django-background-tasks
的步骤:
1. 安装 django-background-tasks
使用 pip 安装:
pip install django-background-tasks |
2. 将应用添加到 INSTALLED_APPS
在你的 Django 项目的 settings.py
文件中,将 background_task
应用添加到 INSTALLED_APPS
列表中:
INSTALLED_APPS = [ | <