首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django视图中呈现模板?

在django视图中呈现模板?
EN

Stack Overflow用户
提问于 2020-05-22 18:06:56
回答 1查看 174关注 0票数 0

因此,我正在设计一个基于用户输入的Django网站,它进行了大量的抓取。这可能需要5-6秒,而当我正在削减,我想要某种加载程序出现,而后端是刮擦。

我像通常使用CSS和JavaScript一样在模板中放置了一个加载器,但是只有当模板实际加载时才弹出,而不是当视图正在为模板收集数据时才弹出。

在Django尝试过:

代码语言:javascript
复制
def scrape(request):
    render(request,'loader.html')

    *do scraping*
    return render(request,'results.html',scraped_data)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-22 19:34:45

我用来解决这个问题的方法是在solve视图中触发一个异步函数。

代码语言:javascript
复制
@shared_task
def do_the_needful():
    return "hello I am doing the needful"

def scrape_result(request, scrape_id):
    result = AsyncResult(scrape_id).get()
    # convert result to json or some other web format
    return result_as_json

def scrape(request):
    scrape_request_id = do_the_needful.submit()
    return render(request, "scrape.html", context={"scrape_request_id": scrape_request_id}

然后,在HTML中,您需要创建一些Javascript,它将使用上下文中的scrape_request_idscrape_result视图执行Ajax请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61961268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档