Jinja: هل يمكننا الحصول على علامة {٪ blank٪}؟

تم إنشاؤها على ٢ ديسمبر ٢٠١١  ·  5تعليقات  ·  مصدر: pallets/jinja

لدى Django هذه العلامة الرائعة حقًا المسماة {٪ blank٪} ، والتي تتيح لك القيام بذلك:

{% for item in list %}
    <tr><td>{{ item }}</td></tr>
{% empty %}
    <tr><td>Nothing to show!</td></tr>
{% endfor %}

وهو اختصار ل

{% if list %}
    {% for item in list %}
        <tr><td>{{ item }}</td?</tr>
    {% endfor %}
{% else %}
    <tr><td>Nothing to show!</td></tr>
{% endif %}

منذ التحول إلى jinja ، فاتني حقًا هذه العلامة :(

التعليق الأكثر فائدة

هذا موجود بالفعل. استخدم {% else %} في حلقة for. لسوء الحظ ، كان لدينا شيء آخر قبل أن يخلق Django فارغًا وإعادة تسميته الآن لمطابقة دلالات Django أمر غريب نوعًا ما.

ال 5 كومينتر

هذا موجود بالفعل. استخدم {% else %} في حلقة for. لسوء الحظ ، كان لدينا شيء آخر قبل أن يخلق Django فارغًا وإعادة تسميته الآن لمطابقة دلالات Django أمر غريب نوعًا ما.

حسنا أرى ذلك. ربما تضع ملاحظة عن ذلك في "التبديل من محركات القوالب الأخرى" ضمن قسم django؟

لا أرى هذا في وثائق التحويل . إنه مذكور في قواعد الضوابط : للتوثيق ولكن سيكون من المفيد أن يكون موجودًا في مستند التبديل ...

إذا كان الرمز list $ # $ منشئًا وكانت كتل for و if تعمل بنفس الطريقة كما في Python ، فإن التركيبة if-for لا تحل المشكلة لأن المولدات صادقة دائمًا ، بالإضافة إلى أن مثل هذا البناء أقل اصطلاحًا من كتلة empty .

لا أعرف ما إذا كان بإمكانك إضافة علامة للتحقق مما إذا كانت الحلقة قد تم تشغيلها أم لا ، تحقق من NameError: name 'item' is not defined أو قم بإضافة متغير مساعد إلى list(generator) على مستوى Jinja. إذا لم يكن الأمر كذلك ، فإن الحل الوحيد هو إضافة كتلة empty أو إقناع مطوري Python بأن المولدات الفارغة يجب أن تكون خاطئة (لتجنب التحقق القبيح من خلال التعامل مع StopIteration و "الدفع للخلف" العنصر المنبثق).

تعمل الكتلة else في Jinja مثل الكتلة empty في Django بالفعل. لا تغيير ضروري هنا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

dwt picture dwt  ·  3تعليقات

guettli picture guettli  ·  5تعليقات

harobed picture harobed  ·  6تعليقات

The-Compiler picture The-Compiler  ·  4تعليقات

mitsuhiko picture mitsuhiko  ·  3تعليقات