2015-10-28 4 views
7

Я знаю, что функция колбы render_template. Я должен указать имя файла шаблона. Но теперь я хочу отобразить строку шаблона (то есть содержимое шаблона). В этом есть смысл. но теперь я не хочу объяснять почему. Как можно просто визуализировать текст шаблона?Python Flask Render Text from Variable like render_template

+0

Просто откройте файл шаблона и вернуть его как строку. –

+0

Но если я это сделаю (у меня установлен флажок-бутстрап), это даст мне следующие вещи: {% extends "bootstrap/base.html"%} и т. Д. Как обычный текст и не обрабатывается. – Faminator

+0

Разве это не ваш вопрос? _Как я могу сделать текст шаблона просто? _ –

ответ

2

вы можете использовать from_string

template = "text {{ hello }}" 
print app.jinja_env.from_string(template).render(hello='Hello') 

>> text Hello 
+1

Так как он использует Flask он может просто использовать 'render_template_string' (импортированный из Flask) – ThiefMaster

+0

Я не могу отметить оба ответа как правильно. Ваш ответ тоже хорош;) – Faminator

-1

Взятые из What's the easiest way to escape HTML in Python.

import cgi 
rendered = render_template('template.html') 
return cgi.escape(rendered) 
+1

Что скрывает HTML, чтобы сделать с этим вопросом? – ThiefMaster

+0

Это возвращает отображаемый шаблон HTML-файла в виде строки. Другие ответы просто делают простые строки шаблонов. @ThiefMaster –

0

На самом деле вы можете вызвать jinja2 визуализации функции непосредственно:

jinja2.Template("I am {{ var }}").render(**paramaters) 

Когда не работает с колбы, это полезно

Смежные вопросы