作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
widthformat 自动四舍五入。但是,如果可能的话,我想执行除法并在模板标签中四舍五入到 n 位小数。例如:
<h4>Strike Rate: {% widthratio selected_replies user.projectreply_set.count 100 %}</h4>
目前它返回一个整数。
我如何在此处应用 floatformat,或者我是否需要在 View 中完成这项工作?
使用模型的替代方法
class UserProfile(models.Model):
....
....
def get_strike_rate(self):
selected_replies = self.user.projectreply_set.filter(is_selected_answer=True).count()
my_replies = self.user.projectreply_set.count()
if my_replies >0:
return round((selected_replies/my_replies)*100.0,2)
else:
return 0
最佳答案
据我所知,没有标准的 Django 过滤器。但是您别无选择。首先是你所说的在 View 中做数学。另一个正在使用 custom template filter :
from django import template
register = template.Library()
@register.filter
def div(value, div):
return round((value / div) * 100, 2)
在模板中你可以这样使用它:
{{ a|div:b }}
如果您使用的是 Django 1.8 及更低版本,则第三个选项是 django-mathfilters你可以尝试使用它的 div 和 mult 过滤器和 Django floatformat 的组合过滤器。
关于Django 模板过滤器 : apply floatformat to widthratio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41162197/
我正在使用 Django 2.0 和 Python 3.7。我读过我可以使用 widthratio 在模板中进行乘法 -- multiplication in django template with
widthformat 自动四舍五入。但是,如果可能的话,我想执行除法并在模板标签中四舍五入到 n 位小数。例如: Strike Rate: {% widthratio selected_re
widthformat 自动四舍五入。但是,如果可能的话,我想执行除法并在模板标签中四舍五入到 n 位小数。例如: Strike Rate: {% widthratio selected_re
我是一名优秀的程序员,十分优秀!