我有一个很好的模板标签,但是当我在模板中多次使用它时,整个页面的加载时间过长。我该如何改善呢?
@register.simple_tag
def converted_currency(amount, currency, default_user_currency, date=timezone.now()):
c = CurrencyConverter('http://www.ecb.int/stats/eurofxref/eurofxref-hist.zip', fallback_on_wrong_date=True, fallback_on_missing_rate=True)
converted_value = c.convert(amount, currency, default_user_currency, date=date)
return Decimal(converted_value).quantize(Decimal("0.00"))
答案 0 :(得分:0)
您可以进行一次CurrencyConverter
,所有模板标记调用都使用该实例
请参见下文
currency_converter = CurrencyConverter('http://www.ecb.int/stats/eurofxref/eurofxref-hist.zip',
fallback_on_wrong_date=True,
fallback_on_missing_rate=True)
...
@register.simple_tag
def converted_currency(amount, currency, default_user_currency, date=timezone.now()):
converted_value = c.convert(amount, currency, default_user_currency, date=date)
return Decimal(converted_value).quantize(Decimal("0.00"))
您还可以在其上设置过期时间,并在实例过期时刷新实例