2013-10-28 50 views
32

這是我在模板中的代碼。現在如何查看一個字符串是否包含Django模板中的另一個字符串

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

我的網址值目前是"http://127.0.0.1:8000/login?next=/index.html"

即使"index.html"是有它仍然打印輪空的字符串中。

當我在python shell中運行相同的代碼時,它可以工作。不知道錯誤是什麼。

+1

寫一個自定義模板標籤,可以幫助你 – Anto

+0

可能是這個片段https://djangosnippets.org/snippets/1350/可以幫助你 – alko

回答

63

嘗試刪除額外的{{...}}標籤和"..."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的標記,你打算。

+2

完美@farmerjoe'{%if'index.html'in request.build_absolute_uri% }'這對我有用。我應該編寫自定義模板標籤。但這對我有效。 – curiousguy

+0

@DibyenduDutta很高興能幫到你! –

相關問題