2024-06-01 01:29:57 发布
网友
我知道我可以用{value| trun关键词:x}}截断给定字数后的textfield。如果我想在课文中间用点东西,可以吗?就像在python中使用字符串
>>>string[:2] >>>something in between >>>string[2:]
但是使用模板标记是因为我正在迭代for循环而不能在视图中传递它?在
谢谢
这里需要一个custom template filter。在
下面是一个基于^{}过滤器实现的简单示例:
from django import template from django.template.defaultfilters import stringfilter from django.utils.text import Truncator register = template.Library() @register.filter(is_safe=True) @stringfilter def sandwich(value, args): length, cutlet = args.split(',') length = int(length) truncated_value = Truncator(value).words(length, truncate='') return ' '.join([truncated_value, cutlet, value[len(truncated_value):].strip()])
输出示例:
注意,Django不允许在模板过滤器中传递多个参数,这就是为什么它们被作为逗号分隔的字符串传递,然后被解析。在这里查看更多关于这个想法的信息:How do I add multiple arguments to my custom template filter in a django template?
另外,如果字符串中只传递了一个参数,length值无法转换为int等,则可能需要捕捉可能的异常
length
int
这里需要一个custom template filter。在
下面是一个基于^{} 过滤器实现的简单示例:
输出示例:
^{pr2}$注意,Django不允许在模板过滤器中传递多个参数,这就是为什么它们被作为逗号分隔的字符串传递,然后被解析。在这里查看更多关于这个想法的信息:How do I add multiple arguments to my custom template filter in a django template?
另外,如果字符串中只传递了一个参数,
length
值无法转换为int
等,则可能需要捕捉可能的异常相关问题 更多 >
编程相关推荐