Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:如何在呈现模板后计算上下文值?_Python_Django_Django Templates_Django Views - Fatal编程技术网

Python Django:如何在呈现模板后计算上下文值?

Python Django:如何在呈现模板后计算上下文值?,python,django,django-templates,django-views,Python,Django,Django Templates,Django Views,render方法的文档说明,如果上下文字典中的值是可调用的,则视图将在呈现模板之前调用该值 问题是我有一个上下文值,需要很长时间来计算,并且在计算完成之前不会呈现下一页。我想立即呈现下一页而不显示该值,但显示一个进度条 我确信有很多方法可以通过AJAX或其他解决方案来实现这一点,但我希望使用纯Django/python来计算这个值。有没有办法在呈现页面后计算值?还有一个问题,纯Django网站有限吗 我不是在寻找进度条解决方案我不确定何时开始加载重值。到达第1页时 为了避免使用ajax,可以将重

render方法的文档说明,如果上下文字典中的值是可调用的,则视图将在呈现模板之前调用该值

问题是我有一个上下文值,需要很长时间来计算,并且在计算完成之前不会呈现下一页。我想立即呈现下一页而不显示该值,但显示一个进度条

我确信有很多方法可以通过AJAX或其他解决方案来实现这一点,但我希望使用纯Django/python来计算这个值。有没有办法在呈现页面后计算值?还有一个问题,纯Django网站有限吗


我不是在寻找进度条解决方案

我不确定何时开始加载重值。到达第1页时


为了避免使用ajax,可以将重对象作为iframe或图像或其他数据格式包含在内。通过这种方式,可以独立加载它,并且可以将其设置为在值不经常更改的情况下利用浏览器缓存

到达第2页时。此外,这不是图像或文件。只是一些函数需要一段时间才能计算出一个值。然后——如果ajax真的是一个禁忌——我会包括一个足够大的iframe来显示计算结果。这将与外部页面并行/独立加载。Ok。我从一开始就决定使用ajax。那么Django约定是否说传递到视图中的上下文应该始终是轻量级的呢?不,真正由您来决定用户等待的时间太长,用户的期望是他愿意等待他得到的东西。通过许多外部服务进行大规模搜索(如skyscanner)可能需要30秒,但结果证明了这一点。如果你还没有,也许可以后退一步,看看如何改进繁重的计算。