我试图在字符串中添加尾随's',除非字符串的最后一个字符是's'。我如何在Django模板中执行此操作?下面的[-1]导致错误:
{{ name }}{% if name[-1] != "s" %}s{% endif %}
答案 0 :(得分:4)
尝试slice过滤器
{% if name|slice:"-1" != "s" %}
答案 1 :(得分:2)
{% if name|slice:"-1:"|first != "s" %}s{% endif %}
Django的切片过滤器不能正确处理无冒号切片,因此切片:“ - 1”解决方案不起作用。另外,利用第一个过滤器似乎可以解决问题。
答案 2 :(得分:1)
Django模板系统提供的标签功能与某些编程结构类似 - 布尔测试的if标签,a 用于循环的标记等 - 但这些并不是简单地执行 相应的Python代码,模板系统不会执行 任意Python表达式。
答案 3 :(得分:1)
不确定这是否是您正在寻找的,但是django有一个内置的模板过滤器,可以复制单词。它被称为:复数。 你想要这样的东西:
{{name | pluralize}}
查看https://docs.djangoproject.com/en/dev/ref/templates/builtins/
答案 4 :(得分:0)
{% if name|last != "s" %}
完成工作