You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Flask将JavaScript函数渲染到HTML的script标签中?

Flask渲染JavaScript函数到script标签位置的实现方法

1. 修正HTML模板

先修复你提供的HTML语法错误(</body 改为 </body>),最终模板内容如下(保存为index.html):

<body>
</body>
<script>
{{ something|safe }}
</script>

2. 编写Flask视图函数

在Flask代码中,将目标JavaScript函数定义为字符串,通过render_template传递给模板,同时使用safe过滤器确保代码不被转义:

from flask import Flask, render_template

app = Flask(__name__)

def showhomepage():
    # 定义要渲染的JavaScript函数字符串
    js_print_cars = """
function printCars(){
    const cars = ['car1', 'car2'];
    console.log(cars);
}
    """
    return render_template("index.html", something=js_print_cars)

if __name__ == "__main__":
    app.run(debug=True)

关键说明

Jinja2模板引擎默认会对变量内容进行HTML转义(比如将引号、大括号转成实体编码),导致JavaScript代码失效。添加|safe过滤器可以明确告诉模板:该内容是安全的原始代码,无需转义,这样printCars函数就能正常渲染到<script>标签内。

内容的提问来源于stack exchange,提问作者timmy zoper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:10:23