カスタムテンプレートフィルターを使用して、テンプレート内の文字列を分割しようとしています。しかし、私はエラーが発生しました
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 %}
ありがとう
<h4>Skills</h4>
{% with form.instance.skills|split:"," as skills %}
{% for skill in skills %}
{{ skill }}<br>
{% endfor %}
{% endwith %}
直接forループも機能します。構文のスペースを削除するだけです。
<h4>Skills</h4>
{% for skill in form.instance.skills|split:"," %}
{{ skill }}
{% endfor %}
文字列を抽出するには、フィルターカットを使用します。
<a href="tel://+1{{ phone|cut:'-' }}">Phone</a>
これにより、文字列からスクリプトが削除されます。