我有一个漫长的任务,那就是将许多记录添加到数据库表中。 在表中,有一个名为“ end”的字段。在完成任务之前,该字段将为空。任务完成后,我将在“结束”字段中写入一个值。
我是否可以创建一个HTML页面,该页面每5秒刷新一次表格中的项目,直到字段“ end”具有值?
有人为此提供示例脚本吗?
答案 0 :(得分:0)
这是一个非常具体的问题,我认为没有现成的例子。
但是您可以在HTML模板中简单地使用JavaScript:
{% if end_column_empty %}
<script>
setTimeout(function(){
window.location.reload(1);
}, 5000);
<script>
{% else %}
Table is Complete.
{% endif %}
以上代码假定您使用Celery或某种异步方式执行了较长的SQL任务。如果您的SQL作业需要50秒才能完成,则上面的代码将无效,因为它会在5秒后分解。
如果您不想使用Celery,则可以按原样执行SQL-Job,同时使用jQuery更新表-为此,您将需要REST API槽来访问表数据。
答案 1 :(得分:0)
您可以尝试使用websocket。套接字正在监听并等待数据。 Django使用表单 django-channels