让Django在等待完成时显示nonjinja元素

2024-03-28 18:51:39 发布

您现在位置:Python中文网/ 问答频道 /正文

这就是我要做的。假设我有一个非常长的函数,需要一些时间来处理。最终,输出需要显示在网页上

我正在使用Python3.6和Django 2框架

views.py

from django.shortcuts import render
import time

def f():
    time.sleep(5)
    return [5,6,7]

def index(request):
    return render(request,'homepage/page.html', {'funcF':f})

正如你所看到的,我有一个函数,它在返回一个数字数组之前等待5秒

主页/page.html

<p> Hello there! </p>

{% for r in funcF %}
<p> {{r}} </p>
{% endfor %}

我的目标是我想你好显示并等待5秒,然后显示阵列中的数字

在当前状态下,该网页需要5秒钟才能重新加载,并在那里显示两个Hello和阵列上的所有数字同时显示

有什么好主意吗


Tags: django函数import网页helloreturntimerequest
1条回答
网友
1楼 · 发布于 2024-03-28 18:51:39

我将假设您对time.sleep(5)的调用只是为了显示/模拟一个需要5秒计算的函数。因此,在这种假设下操作的一种方法是将其分为两个端点,后一个端点是rest端点,因此web浏览器请求hello world页面,您只返回该页面,但您还向页面添加一点javascript,向rest端点发出ajax get请求,该函数需要运行一点时间,当发生这种情况时,以及当函数完成并返回数组时,用户不应该注意到任何不同,您可以使用javascript构建元素。

相关问题 更多 >