在带有正则表达式的模板中使用Django Cut过滤器

时间:2019-03-06 19:02:57

标签: django django-templates

我有全部以图像文件名结尾的URL。我正在尝试剥离除文件名之外的所有URL,但是URL路径可能会有所不同,因为我在不同目录中有图像。

我想知道是否有办法将regexp与cut过滤器一起使用,因为我还没有找到一种方法。

我想做的事的一个例子:

{{ instance.image_url|cut:"/images/products/*/dl_img/" }}'

*指的是各种目录名称,例如bedstables

在模板中有简单的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以制作自己的custom template filter

# templatetags/cut_re.py
import re 

from django import template
register = template.Library()

@register.filter
def cut_re(value, search): 
    return re.sub(search, "", value)

然后像使用它

{% load cut_re %}
{{ instance.image_url|cut_re:"/images/products/.*/dl_img/" }}