Django template render string as html
Render a template filename with context to an html string in Django.
from django.template.loader import render_to_string
html = render_to_string('relative/path/to/my_template.html', {'foo': 'bar'})
Render template from a string.
>>> from django.template import Context
>>> from django.template import Template
>>> template = Template('Hello, {{ thing }}!')
>>> context = Context({'thing': 'World'})
>>> template.render(context)
u'Hello, World!'
>>> context = Context({'thing': 'Internet'})
>>> template.render(context)
u'Hello, Internet!'
Render template from a string with the request context available for use.
# myapp/views.py
from django.http import HttpResponse
from django.template import RequestContext
from django.template import Template
def index(request):
template = Template('Hello, {{ thing }} and {{ request.user }}!')
context = RequestContext(request, {
'thing': 'World',
})
return HttpResponse(template.render(context))
Response:
Hello, World and alice!
Comments
Leave a Reply