Django - 模板标签与模型实例方法

时间:2017-09-20 16:49:27

标签: python django

假设我有一个呈现标记{{ model.choicenumber }}的模板,返回3的整数。使用像{{ model.get_choicenumber_display }}这样的模型实例方法将返回一个对人类友好的“三个”#39}。在这种情况下的字符串。

我希望将get_FOO_display方法和|add模板过滤器混合在一起,以便{{ model.choicenumber|add:'1' }}打印“四个”'。尝试{{ model.get_choicenumber|add:'1'_display }}之类的内容会返回错误

  

无法解析余数:' _display'从   ' model.get_choicenumber |添加:' 1' _display'

谢谢!

编辑:澄清;整数3并不一定等于字符串' Three',但为了简单起见,我刚刚使用了这个比较。

1 个答案:

答案 0 :(得分:0)

来自django.contrib.humanize的模板过滤器apnumber将为您执行此操作

{% load humanize %}
{{ model.choicenumber|add:'1'|apnumber }}

如果您希望第一个字符为大写

,则可以添加capfirst
{{ model.choicenumber|add:'1'|apnumber|capfirst }}