我有一个Flask应用程序,flask.render_template当从flask调用它时,调用时不会出现问题http request。
flask.render_template
http request
我需要相同的方法在flask外部工作
resolved_template = render_template(template_relative_path, **kwargs)
我可以使用jinja2 api,但是我想在两种情况下(flask and command line)都可以使用相同的方法
jinja2 api
你需要在应用程序上下文中呈现它。将应用程序导入后端代码,然后执行以下操作。
with app.app_context(): data = render_template(path, **context)
如果你想完全绕过flask并纯粹Jinja用于呈现模板,则可以这样做
flask
Jinja
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)
然后,你可以调用此函数来呈现html