@tujhmdaa

Как вывести в html список, переданный из python?

Есть функция, вызывающая render_template шаблона с тремя параметрами
def docs():
    page_title = 'Используемая документация'
    content_title = 'Используемая документация'
    content_text = [
        "https://getmdl.io/components/  -   Документация по Material Design by Google",
        "http://flask.pocoo.org/docs/1.0/   -   Документация по Flask"
    ]
    content_text = "<br/>".join([str(elem) for elem in content_text])
    return render_template('template.html', title=page_title, pagename=content_title, content=content_text)

Принимаю в шаблоне так:
{% extends 'base.html' %}
{% block title %}
    {{ title }}
{% endblock %}

{% block content_title %}
    {{ pagename }}
{% endblock %}

{% block content %}
    {{ content }}
{% endblock %}

Я хочу, чтобы мой список в html отображался не в одну строку

https://getmdl.io/components/ - Документация по Material Design by Google (нет перехода на новую строку) flask.pocoo.org/docs/1.0 - Документация по Flask

А в несколько строк

https://getmdl.io/components/ - Документация по Material Design by Google (есть переход на новую строку)
flask.pocoo.org/docs/1.0 - Документация по Flask
  • Вопрос задан
  • 1405 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kova1ev
можно же в шаблонах циклы использовать, передавайте просто список в шаблон, зачем в коде строчки конструировать

def docs():
    page_title = 'Используемая документация'
    content_title = 'Используемая документация'
    content_text = [
        "https://getmdl.io/components/  -   Документация по Material Design by Google",
        "http://flask.pocoo.org/docs/1.0/   -   Документация по Flask"
    ]
    return render_template('template.html', title=page_title, pagename=content_title, content=content_text)


шаблон
{% extends 'base.html' %}
{% block title %}
    {{ title }}
{% endblock %}

{% block content_title %}
    {{ pagename }}
{% endblock %}

{% block content %}
    {% for elem in content %}
        {{elem}}<br>
    {% endfor %}
{% endblock %}


Стало интересно, набрал ваш код, чтобы узнать что не работает. Шаблонизатор в переданных строках символы < > трактует именно как эти символы, а не как тэг, то есть заменяет на &lt и &gt
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы