从 Django 模板标签的变量中切片字符串

Slice the string from Django template tag's variable

是否可以从 Django 模板标签的变量中分割字符串?

假设 some_variable 包含“abcde” 我希望它被切成“abc”

在Django的模板上,我是这样试的

{{some_variable[:-2]}}

没用。

如果可以从 Django 模板标签的变量中切出单词,请告诉我怎么做。

是的,您可以使用 |slice template filter [Django-doc]:

{{ some_variable|slice:":-2" }}

这对列表和字符串都有效。例如:

>>> from django.template import Template, Context
>>> Template('{{ foo|slice:":-2" }}').render(Context({'foo': 'abcde'}))
'abc'

Using {{ some_variable[:-2] }} is not possible: Django的模板语言不允许函数调用、下标、运算符等,只支持Python的一个子语言,主要是防止人家写业务逻辑在模板中。