Django渲染加载页面,然后加载实际页面

时间:2019-03-13 14:58:11

标签: python django python-3.x django-templates

我要加载的实际页面需要花费大量时间,因为它查询API的大量数据(python正在执行后端查询)。收集数据后,如何渲染加载页面,然后渲染实际页面。

我想在view.py中做什么

class Page(ListView):

       def loading(request):
            return render(request,'loading.html')

       def viewProfile(request, player_name):
            Page.loading(request)

            context = {
                'data1' : query_api(1),
                'data2' : query_api(2),
                'data3' : query_api(3),

            } 
            return render(request, 'actualpage.html', context)

1 个答案:

答案 0 :(得分:0)

在加载页面中,向视图查询android:tint="@color/red" ,该查询将查询api,然后在成功回调中在模板中设置html数据。

但是,如果api需要花费很多时间,我建议您使用Sub Button1_Click() Range("A2:A38").Select ActiveSheet.Range("$A$2:$A$38").Value = "=RANDBETWEEN(1,12)" Range("B2:B38").Select ActiveSheet.Range("$B$2:$B$38").Value = "=RANDBETWEEN(1,INDEX({2,2,8,8,8,8,4,2,8,10,4,8},A2))" Application.Calculate Range("A2:B38").Select ActiveSheet.Range("$A$2:$B$38").RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo ActiveWorkbook.Save End Sub 进行异步处理,以便您的用户可以正常浏览网站,而不必等待。

在您的模板中-

ajax

在您的celery中-

$.ajax({
            url: "<query_view_url>",
            type: "GET",
            dataType: 'json',
            success: function (data){
                $("#div_id").html(data.query_data);
            },
            error: function(e){
                console.log(e);
            }
        });