Создать новую многострочную строковую переменную в шаблоне jinja с другими переменными - PullRequest
0 голосов
/ 14 марта 2019

У меня есть несколько длинных тегов свойств, которые мне нужно повторить для нескольких атрибутов. Для этого примера давайте предположим, что это какие-то data-attributes, поэтому

<tag1 data-attr1="{{value1}}" data-attr2="{{value2}}" ... data-attrN="{{valueN}}">
<tag2 data-attr1="{{value1}}" data-attr2="{{value2}}" ... data-attrN="{{valueN}}">
<tagX data-attr1="{{value1}}" data-attr2="{{value2}}" ... data-attrN="{{valueN}}">

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

{% set data_attributes = '
 data-attr1="{{value1}}" data-attr2="{{value2}}" 
 ... data-attrN="{{valueN}}"'%}
<tag1 {{data_attributes}}>
<tag2 {{data_attributes}}>
<tagX {{data_attributes}}>

Результирующий HTML

 <tag 1 >
 <tag 2 >
 <tag 3 >

1 Ответ

0 голосов
/ 12 июня 2019

У меня была длинная строка, и я тоже хотел ее обернуть. Это работало для меня без проблем.

{% set error_message = 'Really long string that I wanted to wrap to 
                        multiple lines to help meet pep8 column width
                        error checking.' %}
<p><strong>
  {{ error_message }}
</strong></p>

В вашем случае я бы, вероятно, сделал бы это вместо этого.

  <div data-attr1="{{ variable_here }}"
       data-attr2="apples"
       data-attr3="oranges">
    Stuff
  </div>

Визуализированный HTML будет:

<div data-attr1="bananas" data-attr2="apples" data-attr3="oranges">
    Stuff
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...