簡體   English   中英

渲染jinja2模板沒有Flask上下文

[英]render jinja2 template without a Flask context

我有一個Flask應用程序,當從一個燒瓶http request調用flask.render_template時,它沒有問題。

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

resolved_template =  render_template(template_relative_path, **kwargs)

我可以使用jinja2 api ,但我希望在兩種情況下(燒瓶和命令行)使用相同的方法

如果你想完全繞過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

您需要在應用程序上下文中呈現它。 在后端代碼中導入您的應用並執行以下操作。

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

我用的是這段代碼:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM