Заставить разрыв строки после пробела между словами Jinja, когда внутри блока if - PullRequest
0 голосов
/ 24 апреля 2020

Я использую фреймворк под названием CKAN, который использует Jinja2 в качестве языка шаблонов. Я пытаюсь заставить разрыв строки после каждого пробела в поле.

enter image description here

Так будет выглядеть

Имена: test-test-2
test-test-3
test-test-4

Это мой сценарий:

  {% for key, value in h.format_resource_items(res.items()) %} 
              {% if "Resource Names" == key.title() %}
                  <tr class="tr class"><th scope="row">{{ key.title() }}</th><td>{{ value }}</td></tr>
              {% endif %}
{% endfor %}

Я попытался добавить это

value|replace(' ', ', ')

, и это работает, означая, что после этого пробел заменяет пробел и пробел после, но если я попытаюсь

value|replace(' ', '\n')

ничего не делает.

Я также пробовал это

value|replace(' ', <br>)

, но он ломает веб-сайт, и если я помещаю это в кавычки, он заменяет пробел фактическими значениями <br>

Я также пытался добавить идентификатор к html и затем добавить CSS, но ничего не изменилось.

1 Ответ

0 голосов
/ 01 мая 2020

Нашел ответ, мне нужно было добавить | Сейф после замены фильтра. Безопасный фильтр помечает строку как безопасную, позволяя не экранировать ее автоматически, если автоэкранирование включено.

{{ value | replace(' ', '<br>') | safe }}
...