LINUX.ORG.RU

Контроль пробелов в Jinja2

 


0

1

Привет, ЛОР. Подскажи, плес, почему у меня сдвинуты вправо цифры в моем результате рендера?

Вот это шаблон

{% macro fill_fact (amount, pps) %}
    {%- for i in range(1,amount + 1) %}
        {%- set counter={'count': 5} %}
        {%- set ports_list = [] %}
            {%- for k in range(1,pps + 1) %}
             {{ ports_list.append(counter.count|string + "30" + k|string) }}
                {%- if counter.update({'count': counter.count + 1 }) %}{% endif %}
            {% endfor %}
    "{{ i }}": {
        "ports": {{ ports_list }},
        }{{ ", " if not loop.last else "" }}
    {% endfor -%}
{% endmacro %}

{
{{ fill_fact(amount_of_nodes,port_per_server) }}
}

А вот что получается в итоге((

{
                                           "1": {
        "ports": ['5301', '6302', '7303'],
        },
                                           "2": {
        "ports": ['5301', '6302', '7303'],
        },
                                           "3": {
        "ports": ['5301', '6302', '7303'],
        }

}

А я ожидаю вот так штоп было

{
    "1": {
        "ports": ['5301', '6302', '7303'],
        },
    "2": {
        "ports": ['5301', '6302', '7303'],
        },
    "3": {
        "ports": ['5301', '6302', '7303'],
        }

}

Что-то не могу понять из доки где ещё то минус надо поставить:

lstrip_blocks: true стоит в таске

Заранее индуцирую лучи здоровья и успеха в сторону всех отписавшихся (не от меня отписавшихся в смысле).

★★★

Последнее исправление: SpaceRanger (всего исправлений: 1)

|string + «30»

Я не настоящий сварщик, но это вот очень похоже на размер лишнего сдвига

PPP328 ★★★★★
()
Ответ на: комментарий от PPP328

Сделал вот так для теста - результат тот же самый((

{{ ports_list.append((counter.count|string + "30" + k|string)|int) }}

Цифири в списке норм получаются же. Есть подозрения, что эта строка не виновата, как и Рафик, кстати.

SpaceRanger ★★★
() автор топика
Последнее исправление: SpaceRanger (всего исправлений: 1)
Ответ на: комментарий от PPP328

не, форматирование остаётся таким же съехавшим даже если поменять 30 на 10. Количество пробелов не меняется

SpaceRanger ★★★
() автор топика
Последнее исправление: SpaceRanger (всего исправлений: 1)

Заранее индуцирую лучи здоровья и успеха в сторону всех отписавшихся

В буковках этих твоих ничо не понял, но теперь я буду здоровый и успешный.

anonymous
()
    {%- for i in range(1,amount + 1) %}
        {%- set counter={'count': 5} %}
        {%- set ports_list = [] %}

Эта куча отступов + + становятся в одну строку одним огромным отступом.

AnDoR ★★★★★
()
Ответ на: комментарий от AnDoR

Но ведь там же минусики, который вроде как отступы чикают, не?

 {%- for i in range(1,amount + 1) -%}
        {%- set counter={'count': 5} -%}
        {%- set ports_list = [] -%}

Если и в закрытие тега минусиков накидать , то результата чот нет(

SpaceRanger ★★★
() автор топика
Последнее исправление: SpaceRanger (всего исправлений: 2)

А вообще это выглядит как json, так что может быть можно выбросить жынжу и сделать просто json.dumps(json_object, indent=2).

AnDoR ★★★★★
()
Ответ на: комментарий от AnDoR

Да, действительно, если убрать все отступы, то становится всё намного понятнее где проблема. Благодарю

SpaceRanger ★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.