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

Flask技术问题:如何将app.py变量值传递至HTML页面显示

问题原因及修复方案

1. 未将变量传递给模板

当前路由函数的render_template调用未传入prompt和openAIAnswer变量,模板无法获取这些值。同时需要初始化变量,避免GET请求时模板因变量未定义报错。

修改后的路由函数:

@app.route('/product-description', methods=["GET", "POST"])
def productDescription():
    # 初始化变量,处理GET请求场景
    prompt = ""
    openAIAnswer = ""
    
    if request.method == 'POST':
        submission = request.form['productDescription']
        query = "Write a detailed product description for: {}".format(submission)
        openAIAnswer = openAIQuery(query)
        prompt = 'DaVinci Suggestions for {} are: '.format(submission)

    # 将变量传递给模板
    return render_template("product-description.html", prompt=prompt, openAIAnswer=openAIAnswer)

2. 语法错误:query变量末尾的逗号

原代码中query = "...",末尾多了一个逗号,导致query成为元组类型,而OpenAI API的prompt参数需要字符串类型。虽然API返回200,但该语法错误可能引发潜在请求异常,必须移除逗号。

3. 模板空值优化(可选)

为提升用户体验,可在模板中判断变量是否为空,避免显示空白内容:

<div class="p-3 rounded">
    <div class="row">
      <div class="col-lg-12">
        {% if prompt %}
        <h3 class="text-primary">{{prompt}}</h3>
        {% endif %}
        {% if openAIAnswer %}
        <p class="lead">{{openAIAnswer}}</p>
        {% endif %}
      </div>
    </div>
</div>

完成以上修改后,POST请求生成的变量即可正确传递到模板并显示,同时解决了潜在参数类型问题与GET请求的变量未定义报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:35:51