Django - получить вывод HTML в переменную - PullRequest
26 голосов
/ 06 января 2011

вместо использования render_to_response, который отправит вывод HTML обратно в браузер.

Я бы хотел взять результаты, сгенерировать HTML (используя шаблоны) и вывести HTML в переменную в моем views.py.Как я могу это сделать?

Ответы [ 3 ]

22 голосов
/ 04 марта 2017

РЕШИТЬ! способ сделать это -

from django.template.loader import render_to_string
rendered = render_to_string('my_template.html', { 'foo': 'bar' })

спасибо Неду за указание на Django документы

19 голосов
/ 06 января 2011

Адаптировано из документов Django :

from django.template import Context, Template
t = Template("My name is {{ my_name }}.")
c = Context({"my_name": "Adrian"})
output = t.render(c)
0 голосов
/ 14 июля 2018

Существует даже более простой способ (если вам нужно извлечь html-данные из метода рендеринга):

R = render('template.html', context)
data = str(R.content)
...