2013-10-28 12 views
32

Benim kodum bir şablonda.Django Şablonunda Başka Bir Dize İçeren Görmek İçin Buraya Tıklayın Şablon

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

Şimdi benim url değeri şu anda "http://127.0.0.1:8000/login?next=/index.html"

bile "index.html" olsa yine güle yazdırır dizede olmasıdır.

Aynı kodu bir python kabuğunda çalıştırdığımda çalışır. Hata ne olduğundan emin değil.

+1

olabilir size – Anto

+0

yardımcı olacak bir özel şablon etiketleri yazmak bu pasajı https://djangosnippets.org/snippets/1350/ request.build_absolute_uri% olarak size – alko

cevap

63

{{...}} etiketlerini ve "..." işaretlerini request.build_absolute_uri numaralı sayfadan kaldırmayı deneyin, bu benim için çalıştı.

Zaten {% if %} etiketinin içinde bulunduğunuzdan, etiketleri ile request.build_absolute_uri çevrilmesine gerek yoktur. tırnak kelimenin tam anlamıyla değerlendirilen Django amaçladığınız etiketlemek dize "{{ request.build_absolute_uri }}" değil arıyorsunuz Çünkü

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

.

+2

mükemmel @farmerjoe '{% eğer 'index.html' yardım edebilir } 'bu benim için çalışıyor. Özel şablon etiketleri yazmam gerekiyor. Ama bu benim için çalıştı. – curiousguy

+0

@DibyenduDutta Glad Yardım edebilirim! –

İlgili konular