You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模板中widthratio标签后使用intcomma过滤器的正确写法

错误原因

你的写法违反Django模板基础语法规则:{{ }}是变量插值输出标记,{% %}是模板逻辑标签标记,二者不支持直接嵌套,把widthratio标签直接塞进变量大括号再接过滤器的写法,会直接触发模板解析错误,根本无法正常渲染。

实现方案

widthratio原生提供as参数用来接收计算结果,你可以先把比例计算值存为临时模板变量,再对这个变量应用intcomma过滤器即可,全程不需要自定义标签或者写多余的后端逻辑:

  • 前置依赖检查:intcomma过滤器由django.contrib.humanize提供,先确认你的项目settings.py里INSTALLED_APPS已经添加了这个应用
  • 在需要使用该逻辑的模板顶部加载humanize标签库:
    {% load humanize %}
    
  • 按如下写法实现计算+格式化逻辑:
    {% widthratio p.price 2 1 as scaled_price %}
    {{ scaled_price|intcomma }}
    

这段代码会先按你的需求计算p.price * 1 / 2的比例值,再自动把结果转成千分位格式输出,所有Django长期支持版本都兼容该写法,没有额外依赖。

内容的提问来源于stack exchange,提问作者l22hs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 10:06:37