2024-04-30 05:30:07 发布
网友
我有一个Flask应用程序,当从Flask http request调用它时,它调用flask.render_template没有问题。
http request
flask.render_template
我需要同样的方法在flask之外工作(从python后端程序)
resolved_template = render_template(template_relative_path, **kwargs)
我可以使用jinja2 api,但我希望在两种上下文(flask和命令行)中使用相同的方法
jinja2 api
如果您想完全绕过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
您需要在应用程序上下文中呈现它。在后端代码中导入应用程序并执行以下操作。
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))
如果您想完全绕过
flask
并使用纯Jinja
来呈现模板,可以这样做然后可以调用此函数来呈现html
您需要在应用程序上下文中呈现它。在后端代码中导入应用程序并执行以下操作。
我用的是这个代码:
相关问题 更多 >
编程相关推荐