renderizar la plantilla jinja2 sin un contexto Frasco

Tengo una aplicación Flask que llama a flask.render_template sin problemas cuando se invoca desde una http request flask.

Necesito el mismo método para trabajar fuera del matraz (desde un progtwig de back-end de python)

 resolved_template = render_template(template_relative_path, **kwargs) 

Podría usar la jinja2 api , pero me gustaría que funcionara el mismo método, en ambos contextos (flask y línea de comando)

Necesitas renderizarlo en un contexto de aplicación. Importe su aplicación en su código de fondo y haga lo siguiente.

 with app.app_context(): data = render_template(path, **context) 

Si desea omitir completamente el flask y usar únicamente Jinja para representar su plantilla, puede hacerlo como tal

 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) 

Y luego puedes llamar a esta función para renderizar tu html.

Lo que uso es este código:

 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))