I have a Flask application that calls flask.render_template
without problems when it is invoked from a flask http request
.
I need the same
What I use is this code:
import jinja2
template_values = {
'value_name_in_html': value_name_in_python,
}
template = JINJA_ENVIRONMENT.get_template("file_patch")
self.response.write(template.render(template_values))
If you want to completely bypass flask
and use purely Jinja
for rendering your template, you can do as such
import jinja2
def render_jinja_html(template_loc,file_name,**context):
return jinja2.Environment(
loader=jinja2.FileSystemLoader(template_loc+'/')
).get_template(file_name).render(context)
And then you can call this function to render your html
You need to render it in an app context. Import your app in your backend code and do the following.
with app.app_context():
data = render_template(path, **context)