1 слово в строке из шаблона jinja2 в формат HTML - PullRequest
0 голосов
/ 02 июля 2019

У меня есть шаблон jinja2 - test.html.j2 с переменной {{test}}, содержащий строку «это тест». когда он копируется на целевой узел с использованием модуля шаблона ansible, он отображает всю строку. Могу ли я знать, как разделить слово, как формат ниже.

это
есть
а
тест

Работает, когда в формате .txt, но не .html

Playbook

- name: Test HTML
  hosts: all
  vars:
    - test: "This is a test"
  tasks:

  - name: Copy test.html
    template:
      src: test.html.j2
      dest: /tmp/{{ ansible_date_time.iso8601_basic }}.html

шаблон jinja2

Тест на выход
{{test}}

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Можете ли вы попробовать, как показано ниже? | символ - оператор буквального блока.

test: |
  this
  is
  a
  test
0 голосов
/ 02 июля 2019

Похоже, вам нужно применить фильтр " replace " (http://jinja.pocoo.org/docs/2.10/templates/#replace) в вашем html-файле шаблона. Например:

test.html.j2:

{{ test | replace(' ', '<br/>') }}

В этом шаблоне каждый пробел должен быть заменен тегом разрыва строки HTML ("«)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...