如何在 django 模板中拆分字符串?

Posted

技术标签:

【中文标题】如何在 django 模板中拆分字符串?【英文标题】:how to split the string in django template? 【发布时间】:2017-06-15 10:00:41 【问题描述】:

我正在尝试使用自定义模板过滤器拆分模板中的字符串。但是我遇到了错误

    TemplateSyntaxError at /job/16/
'for' statements should use the format 'for x in y': for skill in form.instance.skills | split : ","

这是我的过滤器

@register.filter(name='split')
def split(value, key):
    """
        Returns the value turned into a list.
    """
    return value.split(key)

这是我的模板

<h4>Skills</h4>
        % for skill in form.instance.skills | split : "," %
             skill 
          % endfor %

谢谢

【问题讨论】:

可能重复:***.com/questions/8317537/… 【参考方案1】:
<h4>Skills</h4>
% with form.instance.skills|split:"," as skills %
    % for skill in skills %
         skill <br>
    % endfor %
% endwith %

【讨论】:

由于错误Invalid filter: 'split',它不起作用。另一种解决方案:***.com/a/8318915/5494506.【参考方案2】:

对于提取字符串,使用过滤切割:

<a href="tel://+1 phone|cut:'-' ">Phone</a>

这会从字符串中删除脚本。

【讨论】:

【参考方案3】:

直接 for 循环也可以,您只需删除语法中的空格:

    <h4>Skills</h4>
            % for skill in form.instance.skills|split:"," %
                 skill 
              % endfor %

【讨论】:

以上是关于如何在 django 模板中拆分字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 模板中分割长线?

Django 使用模板标签拆分文本字段

如何在 django 模板中连接字符串?

html模板django python中带有拆分的子字符串

如何在 Django 模板中添加字符

如何在 Django 模板中的“带有模板标签”中设置 Django 渲染块值?