86

これはテンプレート内の私のコードです。

{% if 'index.html' in  "{{ request.build_absolute_uri  }}" %} 
    'hello'
{% else %}      
    'bye'
{% endif %}

現在、私のURL値は現在"http://127.0.0.1:8000/login?next=/index.html"

が文字列に含まれていても"index.html"、まだ bye が出力されます。

Python シェルで同じコードを実行すると、動作します。何が間違いなのかわからない。

4

3 に答える 3

145

{{...}}余分なタグと"..."引用符を削除してみてrequest.build_absolute_uriください。うまくいきました。

既にタグ内にあるため、タグ{% if %}で囲む必要はありません。request.build_absolute_uri{{...}}

{% if 'index.html' in request.build_absolute_uri %}
    hello
{% else %}
    bye
{% endif %}

"{{ request.build_absolute_uri }}"引用符があるため、意図した評価済みの Django タグではなく、文字通り文字列を検索しています。

于 2013-10-28T06:08:44.230 に答える