私はというURLのリストを格納するモデルフィールドを持っています(間違った方法です)。私は私のテンプレートで配列にフィールドを分割する必要があるので、私は、カスタムフィルタを作成:Djangoテンプレート - 配列を分割する
@register.filter(name='split')
def split(value, arg):
return value.split(arg)
私はこの方法を使用します。
{% with game.screenshots|split:"\n" as screens %}
{% for screen in screens %}
{{ screen }}<br>
{% endfor %}
{% endwith %}
が、私が見ることができるように、分割はしていません仕事をしたい:私はurl1 url2 url3
のような出力を得る(私はソースを見れば改行がある)。どうして?
これははるかに理にかなっています。あなたは私を多くのことから間違って救った。 –
しかし、過度に太ったモデルは、維持不能なものの山になる可能性があることに注意してください。この特殊なケースは有効です。直列化されたデータの一部をPythonに変換することになります。これはモデルレイヤで行うのが理にかなっています。 (あなたはそのメソッドを計算されたプロパティにすることさえできます)しかし、テンプレートから呼び出すことができるようにメソッドをモデルに置くには、そのようなことを2回考えてくださいあなたのビュー(s)での処理: – Tony
テンプレートのコンテンツよりも優れています。モデル – WeizhongTu