web-dev-qa-db-ja.com

Djangoテンプレートで文字列を分割する方法は?

カスタムテンプレートフィルターを使用して、テンプレート内の文字列を分割しようとしています。しかし、私はエラーが発生しました

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

ありがとう

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

直接forループも機能します。構文のスペースを削除するだけです。

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

文字列を抽出するには、フィルターカットを使用します。

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

これにより、文字列からスクリプトが削除されます。