渲染jinja2模板没有Flask上下文

Max*_* L. 8 python jinja2 flask

我有一个Flask应用程序,flask.render_template当从一个烧瓶调用时,它可以毫无问题地调用http request.

我需要相同的方法在烧瓶外工作(来自python后端程序)

resolved_template =  render_template(template_relative_path, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我可以使用jinja2 api,但我想在两个上下文(烧瓶和命令行)中使用相同的方法

jet*_*com 13

如果您想完全绕过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)
Run Code Online (Sandbox Code Playgroud)

然后你可以调用这个函数来渲染你的html


dav*_*ism 10

您需要在应用程序上下文中呈现它.在后端代码中导入您的应用并执行以下操作.

with app.app_context():
    data = render_template(path, **context)
Run Code Online (Sandbox Code Playgroud)