簡體   English   中英

Django:避免在模板中對同一表達式進行多次求值?

[英]Django: avoiding multiple evaluations of the same expression in a template?

當將稱為widget的對象作為上下文的一部分傳遞給django模板時,我可能有一個有點昂貴的方法,但是我想多次顯示它的結果。

蟒蛇:

class Widget:
   def work(self):
      # Do something expensive

模板

This is a widget, the result of whose work is {{widget.work}}.  Do
you want to save {{widget.work}} or discard {{widget.work}}?

顯然,我可以通過在視圖代碼中對方法進行一次評估,然后將結果傳遞進來來解決此問題,但這似乎使視圖和模板之間的耦合過多。 模板作者是否可以隱藏值以便稍后在模板中重復使用? 我想做這樣的事情:

{% work_result = widget.work %}
This is a widget, the result of whose
work is {{work_result}}.  Do you want to save {{work_result}} or discard {{work_result}}?

Django模板語言中是否存在這樣的構造?

{% with work_result=widget.work %}

查看Django 文檔以獲取更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM