我有Django模板,其中包括一個模板標籤,需要一個變量(shop.id),並取決於店鋪是否在數據庫模型中的兩個字符串的一個返回,這樣評估字符串作爲模板標記 - Django的
{% is_shop_claimed shop.id %}
由模板標籤返回的兩個可能的字符串是
return '<p>Taken</p>'
或
return '<a href="/claim_shop/{{shop.id}}/">Claim shop now</a>'
當運行該代碼,如果返回的第二串,它出現在模板(觀看在瀏覽器的頁面源)等
<a href="/claim_shop/{{shop.id}}/">Claim shop now</a>
並在瀏覽器顯示爲這樣
一個鏈路要求店現在
的問題是是在href shop.id不計算爲數字Django的模板引擎。
鏈接應該出現這樣的店鋪123,例如
<a href="/claim_shop/123/">Claim shop now</a>
我檢查Django文檔的過濾器適用於字符串中的模板標籤或模板,以便該字符串沒有逃脫,但沒有運氣。
我已經看過this,但似乎應該有一個簡單的方法使{{shop.id}}在模板中進行評估。
我也取得了模板標籤返回,而不是兩個字符串一個布爾值,使演示模板像我寧願,但如果使用像這樣在一旁
{% if is_shop_claimed shop.id %}
<p>Taken</p>
{% elif not is_shop_claimed shop.id %}
<a href="/claim_shop/{{shop.id}}/">Claim shop now</a>
{% endif %}
模板標籤聲明不起作用,因爲我不能將模板標籤放在if語句中。
有關如何讓{{shop.id}}評估爲數字的任何建議?任何幫助,將不勝感激。 我正在學習Django和Python,並且在這個問題上花了數小時。
感謝@Ingacio這工作,它很容易,我錯過了簡單的解決方案! ;) – paulvs