Django टेम्पलेट में गणित कैसे करें?


103

मैं यह करना चाहता हूँ:

100 - {{ object.article.rating_score }} 

उदाहरण के लिए, आउटपुट होगा 20यदि {{ object.article.rating_score }}बराबर 80

मैं इसे टेम्पलेट स्तर पर कैसे करूं? मेरे पास पायथन कोड तक पहुंच नहीं है।

जवाबों:


154

आप addफ़िल्टर का उपयोग कर सकते हैं :

{{ object.article.rating_score|add:"-100" }}

37
गुणा और भाग के लिए आप अंतर्निहित widthratioटेम्पलेट टैग का गलत उपयोग कर सकते हैं । {% widthratio a 1 b %}/ B उपयोग के लिए, * b उपयोग की गणना करने के लिए {% widthratio a b 1 %}। केवल वापसी, परिणाम लौटने से पहले एक पूर्णांक के लिए गोल हैं। गुणन और विभाजन के लिए Django के widthratio टेम्पलेट टैग का उपयोग करना
elim

2
@ एरिक जो इसका खुद का जवाब होना चाहिए - बहुत बेहतर समाधान।
nhinkle

1
डॉक्स में जोड़ने के लिए अद्यतन लिंक
rnevius

क्या होगा यदि मैं इस तरह का उपयोग करता हूं: {{object.article.rating_score | add: "{% widthratio object.article.rating_score 100 5%}"}}
मुशाहिद खान

@ डैनियल रोसमैन मैं इस तरह प्रतिशत लागू करने के बाद जोड़ सकता हूं: {{object.article.rating_s | जोड़ना: "{{% widratio object.article.rating_score 100 5%}"}}}
मुशाहिद खान

31

Django-mathfilters का उपयोग करें । बिल्ट-इन ऐड फिल्टर के अलावा, यह फिल्टर को घटाना, गुणा करना, विभाजित करना और पूर्ण मूल्य लेना प्रदान करता है।

ऊपर दिए गए विशिष्ट उदाहरण के लिए, आप उपयोग करेंगे {{ 100|sub:object.article.rating_score }}


19

आम तौर पर यह अनुशंसा की जाती है कि आप इस गणना को अपने विचार में करें। अन्यथा, आप ऐड फ़िल्टर का उपयोग कर सकते हैं।


आप इसे टेम्प्लेट में लूप के अंदर कैसे करते हैं?
बिस्मिगलिस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.