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

时间:2017-01-30 09:36:09

标签: django-templates django-filter django-1.5

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

    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 %}

由于

3 个答案:

答案 0 :(得分:7)

<h4>Skills</h4>
{% with form.instance.skills|split:"," as skills %}
    {% for skill in skills %}
        {{ skill }}<br>
    {% endfor %}
{% endwith %}

答案 1 :(得分:0)

要提取字符串,请使用过滤器剪切:

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

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

答案 2 :(得分:0)

direct for循环也可以使用,您只需删除语法中的空格:

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