2013-02-16 17 views
5

कस्टम टेम्पलेट टैग बनाने के लिए Django जहाजों के कुछ बेहतरीन टूल के साथ जहाज।कस्टम टेम्पलेट टैग args और kwargs पार्सर

सरल_टैग और असाइनमेंट_टैग को इनकमिंग टोकन सामग्री को पार्स करें और उन्हें args, kwargs में उनके संदर्भों के लिए सही ढंग से हल किया गया है (कहें कि एक चर पारित किया गया था)।

क्या इस व्यवहार को नियमित टैग में जोड़ने का कोई आसान तरीका है?

मुझे parser ऑब्जेक्ट का उपयोग करने की आवश्यकता है, इसलिए मुझे नियमित टैग का उपयोग करने की आवश्यकता है, लेकिन ऐसा लगता है कि मैं args, kwargs पार्सर को पुन: उत्पन्न करने के लिए बहुत सारे कोड के माध्यम से wading कर रहा हूं। (टैग तर्क के लिए पार्सर kwargs एक आर्ग,)

{% snippet foo=bar bar=baz %} 
This is a glorious django template tag! 
{% endsnippet %} 

यह इस तरह लगता है इस तरह के एक आम मुद्दा है कि यह एक Django टुकड़ा है या करना चाहिए:

@register.tag(name='snippet') 
def snippet_with_defaults(parser, token): 
    bits = token.split_contents()[1:] 
    bits # bits needs to be converted to args, kwargs easily 

मैं एक टैग है कि इस तरह के कार्यों की जरूरत है कुछ कुछ!

उत्तर

5

मुझे एक स्निपेट मिला जो आपकी मदद करने में सक्षम हो सकता है।

Tag that parses args and kwargs

+0

साइमन, आप आदमी हैं! धन्यवाद! –

+0

कोई चिंता नहीं। मैं खुशी से मदद कर सकता है। उम्मीद है कि इसने आपके प्रश्न का उत्तर दिया है। –

+0

मुझे अभी तक इसका परीक्षण करने का मौका नहीं मिला है, लेकिन मैं मानता हूं कि यह काम करता है! –

संबंधित मुद्दे