Django 如何截断文本并使用文本的第二部分?
我在研究一个小问题。 我在Django模板上得到一个文本。要点是截断该文本,并将文本的第二部分添加到其他标记中。 我读到:Django 如何截断文本并使用文本的第二部分?,django,django-templates,Django,Django Templates,我在研究一个小问题。 我在Django模板上得到一个文本。要点是截断该文本,并将文本的第二部分添加到其他标记中。 我读到: {{ value|truncatechars_html:x }} 它可以工作,但我不能使用截断文本的第二部分 如果有人有想法…谢谢 使用切片-。python中的字符串也是字符列表,因此可以执行以下操作: First part is {{ value|slice:":x" }} Second part is {{ value|slice:"x+1:" }} def you
{{ value|truncatechars_html:x }}
它可以工作,但我不能使用截断文本的第二部分
如果有人有想法…谢谢 使用切片-。python中的字符串也是字符列表,因此可以执行以下操作:
First part is {{ value|slice:":x" }}
Second part is {{ value|slice:"x+1:" }}
def your_truncate_filter(value, arg):
... # your code for splitting
data = {}
data['first'] = "....." # first part of string with html tags !!!
data['second'] = "....." # second part of string
return data
{% with parts=value|your_truncate_filter:x %}
{{ parts.first }}
{{ parts.second }}
{% endwith %}
然而,如果您需要保留一些html代码,slice将不会这样做。为此,您需要编写自己的自定义标记(您可以从truncate chars查看代码),该标记返回两个值—字符串的每个部分一个值
假设您的筛选器返回如下内容:
First part is {{ value|slice:":x" }}
Second part is {{ value|slice:"x+1:" }}
def your_truncate_filter(value, arg):
... # your code for splitting
data = {}
data['first'] = "....." # first part of string with html tags !!!
data['second'] = "....." # second part of string
return data
{% with parts=value|your_truncate_filter:x %}
{{ parts.first }}
{{ parts.second }}
{% endwith %}
您可以在模板中访问它,如下所示:
First part is {{ value|slice:":x" }}
Second part is {{ value|slice:"x+1:" }}
def your_truncate_filter(value, arg):
... # your code for splitting
data = {}
data['first'] = "....." # first part of string with html tags !!!
data['second'] = "....." # second part of string
return data
{% with parts=value|your_truncate_filter:x %}
{{ parts.first }}
{{ parts.second }}
{% endwith %}
我不认为有一个内置的django过滤器。定义自己的自定义模板标记并使用该过滤器@用户3282479谢谢!