python - Django 显示带有元组数据的格式化字符串(仅调用一次)
问题描述
我想在 django 模板中显示元组数据。
我想使用类似于 Python 格式字符串的语法:
print("I have %d referrers and %f cashbacks" % request.user.get_referrer_data())
在这种情况下,这request.user.get_referrer_data()
是一个昂贵的方法,所以我只想在我的模板中调用它一次(尽管我缓存了它的结果)。
你知道让我在字符串中注入元组的模板语法吗?
像这样的代码会很棒:
{{ "I have %d referrers and %f cashbacks" | formated_string request.user.get_referrer_data() }}
解决方案
采用{% with ...
{% with rdata=request.user.get_referrer_data %}
I have {{ rdata.0 }} referrers and {{ rdata.1 }} cashbacks
{% endwith %}
要更好地控制值的格式,请使用过滤器。Django 提供floatformat
浮点值:
{{ rdata.1|floatformat:2 }}
给出两位小数。
推荐阅读
- java - 只改变许多迭代中的一个
- reactjs - 使用 Lightsail 托管 NodeJs React 应用程序
- asp.net-core - 如何在 ASP.net core MVC 控制器的 ActionResult 中过滤模型中的数据?
- xml - XSL 循环遍历 XML 元素的属性,然后用连接的属性替换第一个元素
- javascript - 如何通过旧的 javascript 在 ubuntu 中调用 sleep 二进制文件?
- ruby-on-rails - 使用 sidekiq-cron 自动删除帖子
- python - Dash 获取会话对象变量会引发可怕的运行时错误
- ios - 无法注册捆绑标识符并且找不到配置文件?
- python-3.x - 从 dict 调用值以在数据框中创建布尔列
- javascript - 为什么我的 post 请求没有得到 readyState=4 和 status=200?