मैं django टेम्पलेट में किसी स्थिति के अंदर एक ब्लॉक को कॉल करने का प्रयास कर रहा हूं।किसी स्थिति के अंदर कॉलिंग ब्लॉक: django टेम्पलेट
मेरे पास base template
है। मेरे पास कई अन्य टेम्पलेट्स हैं जो आधार टेम्पलेट का विस्तार करते हैं। मैं आधार टेम्पलेट में एक ब्लॉक को परिभाषित किया है:
{% block test_block %}Test{% endblock %}
मैं तो अन्य टेम्पलेट में एक निश्चित शर्त पर इस ब्लॉक ओवरराइड करना चाहते। अगर स्थिति विफल हो जाती है, तो ब्लॉक को ओवरराइड नहीं किया जाना चाहिए। यह कुछ है जो मैंने लिखा है:
{% if test_value %}{% block test_block %}Development{% endblock %}{% endif %}
यह वास्तव में (या वास्तव में हो सकता है) अगर स्थिति को अनदेखा करता है।
क्या मैं अंत में क्या किया:
{% block test_block %}{% if test_value %}Development{% else %}{{ block.super }}{% endif %}{% endblock %}
मैं इस हर जगह यह आवश्यक था की तरह कुछ करना था।
क्या यह सबसे अच्छा तरीका है? क्या यह एकमात्र तरीका है? मैं अपने पहले तरीके का प्रयास क्यों नहीं कर सकता? या मेरी तरफ से कोई गलती है?
आपका django संस्करण क्या है? –
यह भी देखें http://stackoverflow.com/questions/942797/why-cant-i-nest-a-block-tag-inside-an-if-tag – Bryce
धन्यवाद मैं घंटों के लिए इस पर अपना सिर मार रहा हूं – pmont