سؤال

وأود أن تفعل ما يلي:

{% if appnav %}
<hr />
<div id="appnav">
    <ul class="tabs">
        {% block appnav %}{% endblock %}
    </ul>
</div>
{% endif %}

و... ومع ذلك، واختبار لاستخدام الحالي للكتلة بواسطة قوالب مزيد من الانخفاض في سلسلة الميراث لا يبدو للعمل.

هل هناك بعض الآخر مشروطا التي قد تفعل هذا؟

هل كانت مفيدة؟

المحلول

واللغة قالب لا يوفر بالضبط ما كنت أبحث عنه. يمكن قوالب الطفل استدعاء كتلة الأم مع {{ block.super }}، ولكن القوالب الأم لا يمكن الرجوع قوالب الطفل.

وأفضل رهان من المحتمل أن يكون لكتابة علامة قالب مخصص. هناك نوعان من المقاطع في دليل نموذج للمراجعة.

أولا، تحليل حتى كتلة علامة أخرى . هذا وسوف تعطيك أساسيات كيفية تحليل.

وثانيا، <وأ href = "http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#parsing-until-another-block-tag-and-saving-contents" يختلط = "نوفولو noreferrer"> في التحليل حتى العلامة كتلة أخرى وإنقاذ محتويات . من خلال وضع علامة كتلة داخل علامة مخصصة، هل يمكن اكتشاف المحتوى والتفاف عليه حسب الاقتضاء. هذا يجب أن تعمل، لأنني أعتقد سيتم تحليل العلامة كتلة الداخلية أولا. إذا لم يفلح ذلك، فئة فرعية علامة قالب كتلة القائمة التي قدمتها جانغو لتنفيذ السحر الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top