【发布时间】:2022-01-07 17:48:23
【问题描述】:
我有一个计算密集型应用程序,它需要输入并处理大约 10-15 个输入公式,包括 NPV、类似 IRR 的计算。我正在使用 django 中的模板标签实现计算。下面是sn-ps的代码:
[过滤器.py][1]
@register.filter
def **client_irr**(value,arg):
fcf_list = []
for i in arg:
fcf_list.append(fcf(value,i))
return round(npf.irr(fcf_list) * 100,2)
[inputs.html][2]
<div class="products-row">
<div class="product-cell price">{{ i.parameter }}</div>
<div class="product-cell price">{{ i.units }}</div>
<div class="product-cell price">{{ i.values|**client_irr:**total_time}}</div>
</div>
这样的计算有很多!!
我正确地执行了这些计算吗?我不确定,我发现这种方式完全错误!
(/inputs) 计算值的请求大约需要 20-22 秒,并且 UI 卡住了,这创造了非常好的用户体验 (UX)。
所以,我正在寻找一个处理栏(我无法在 Django 中获得好的教程)或优化这些计算的方法。
谢谢各位!!那意义重大!如果您有任何解决方案,请帮忙!
【问题讨论】:
标签: python django django-templates celery progress-bar