Looking for django Keywords? Try Ask4Keywords

Django सरल टैग


उदाहरण

कस्टम टेम्पलेट टैग को परिभाषित करने का सबसे सरल तरीका एक simple_tag का उपयोग simple_tag । ये सेटअप करने के लिए बहुत सीधे हैं। फ़ंक्शन नाम टैग नाम होगा (हालांकि आप इसे ओवरराइड कर सकते हैं), और तर्क टोकन ("शब्द" रिक्त स्थान से अलग हो जाएंगे, सिवाय उद्धरणों के बीच के रिक्त स्थान को छोड़कर)। यह खोजशब्द तर्क का भी समर्थन करता है।

यहाँ एक बेकार टैग है जो हमारे उदाहरण का वर्णन करेगा:

{% useless 3 foo 'hello world' foo=True bar=baz.hello|capfirst %}

निम्नलिखित की तरह foo और baz को संदर्भ चर होने दें:

{'foo': "HELLO", 'baz': {'hello': "world"}}

कहो कि हम इस तरह से प्रस्तुत करने के लिए यह बहुत बेकार टैग चाहते हैं:

HELLO;hello world;bar:World;foo:True<br/>
HELLO;hello world;bar:World;foo:True<br/>
HELLO;hello world;bar:World;foo:True<br/>

तर्कों का प्रकार 3 बार दोहराया गया (3 पहला तर्क है)।

यहाँ टैग कार्यान्वयन क्या हो सकता है:

from django.utils.html import format_html_join

@register.simple_tag
def useless(repeat, *args, **kwargs):
    output = ';'.join(args + ['{}:{}'.format(*item) for item in kwargs.items()])
    outputs = [output] * repeat
    return format_html_join('\n', '{}<br/>', ((e,) for e in outputs))

format_html_join <br/> को सुरक्षित HTML के रूप में चिह्नित करने की अनुमति देता है, लेकिन outputs की सामग्री नहीं।