رمز:
from jinja2 import Template
print(Template('{{ "2016.10.26_cc37528" | truncate(11, True) }}').render())
print(Template('{{ "2016.10.26_cc37528" | truncate(12, True) }}').render())
print(Template('{{ "2016.10.26_cc37528" | truncate(13, True) }}').render())
print(Template('{{ "2016.10.26_cc37528" | truncate(14, True) }}').render())
2016.10....
2016.10.2...
2016.10.26...
2016.10.26_...
2016.10....
2016.10.2...
2016.10.26_cc37528
2016.10.26_cc37528
{{ "2016.10.26_cc37528" | truncate(13, True) }}
تحقق مما إذا كان سبب ذلك هو الوسيطة leeway
. تم تغيير القيمة الافتراضية لها مؤخرًا.
https://github.com/pallets/jinja/blob/master/jinja2/filters.py#L467
أنه. يؤدي ضبط الفسحة إلى 0 إلى إصلاح المشكلة. أود أن أقول إنها انتهاك لـ POLA عند استخدام سلاسل قصيرة.
نعم أوافق @ AMDmi3 . لقد وصلنا إلى هذه المشكلة أيضًا.
المشكلة هي أن Jinja لديها تطبيق برأي لا يتوافق مع الاستخدام كمحرك قوالب للأغراض العامة.
لقد وجدت أيضًا هذه المشكلة وقضيت عدة ساعات في العثور على الخطأ. من الواضح أن الخيارات الجديدة يجب أن تكون متوافقة مع الإصدارات السابقة ويجب أن يكون الخيار الافتراضي هو leeway = 0
.
كل من يبدأ في استخدام الخيار الجديد leeway
سيعرف أنه موجود وسيستخدم القيمة التي يريدها. أولئك الذين لا يعرفون عن المعلمة الجديدة لن يحتاجوا إلى تغيير الكود ...
التعليق الأكثر فائدة
أنه. يؤدي ضبط الفسحة إلى 0 إلى إصلاح المشكلة. أود أن أقول إنها انتهاك لـ POLA عند استخدام سلاسل قصيرة.