-6

これは、Stack Overflow での最初の投稿です。Python自体で完全に機能するこのループがあります。

for i, j in enumerate(ls.split("/")):
    print i * " " + j

Django テンプレートに同じことを実装したいと考えています。これが私がやろうと思ったことです:

{% for i, j in enumerate(ls.split("/")) %}
{% i * " " + j %}
{% end for %}

しかし、これはうまくいきません。views.py からls変数を取得します。i and j変数は for ループの実装中に作成されます。ありがとう

4

2 に答える 2

4

Django テンプレートに関するドキュメントを読んでいないようです。質問する前にそれをするべきです。

Django のテンプレート言語は意図的に制限されています。Python ではありません。その中で任意の関数呼び出しを行うことはできません。そのようなことは、ビューで行うか、場合によってはカスタム テンプレート タグで行う必要があります。

于 2012-12-06T10:11:29.317 に答える
1

私はそれが次のように見えるべきだと思います:

{% for i, j in data_supplied_to_template %}
    {{ i * " " + j }}
{% endfor %}

endforテンプレート置換のキーワードと二重中括弧構文に注意してください。

data_supplied_to_templateここで、レンダリングのためにテンプレート エンジンに渡す変数に必要なデータを入れる必要があります。

いくつかの追加のアドバイスには、変数に適切なナンスを使用することが含まれます (i、j は通常、整数とインデックス用に予約されています)。

詳細については、テンプレートのドキュメントを参照してください。

于 2012-12-06T10:12:14.363 に答える