【问题标题】:Remove last 3 letters of string in Django template [:-3]删除 Django 模板中字符串的最后 3 个字母 [:-3]
【发布时间】:2012-12-02 13:57:26
【问题描述】:

我正在做以下事情:

{% for wrapping in wrappings %}  //array of strings
<input type="radio" value="{{ wrapping[:-3] }}" etc

我想输出所有的换行字符串减去最后 3 个字母,但我收到的是:

TemplateSyntaxError: Could not parse the remainder: '[:-3]' from 'wrapping[:-3].

知道有什么问题/如何做到这一点吗?谢谢,

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    您需要slice 过滤器。

    【讨论】:

      【解决方案2】:

      你可以只使用切片过滤器:

      {{ wrapping|slice:":-3" }}
      

      【讨论】:

      • 因为它是 Django 的模板引擎——它对标签施加了某些语法限制,你不能把它完全当作 Python 对待——事实上,它的设计是为了确保你不会……值得一看不过在大多数内置过滤器中......
      【解决方案3】:

      {{ variable|slice:":-3" }} 会这样做。

      【讨论】:

        猜你喜欢
        • 2010-12-20
        • 1970-01-01
        • 2018-03-14
        • 2017-01-29
        • 2013-09-25
        • 2019-08-05
        • 2017-08-08
        • 2020-06-18
        • 2019-04-23
        相关资源
        最近更新 更多