【问题标题】:Getting builtins.ValueError View function did not return a response获取 builtins.ValueError 视图函数没有返回响应
【发布时间】:2023-05-28 12:16:02
【问题描述】:

我刚开始学习烧瓶,我被这个错误困住了。我在这里检查了很多这样的问题,但我不确定我的代码有什么问题。

from flask import Flask,url_for
from flask import make_response
from flask import request
from flask import render_template
from WebService.application import deploy_azure

app = Flask(__name__)

@app.route('/', methods=['GET'])
def my_form():
    return render_template("xyz.html")


@app.route('/', methods=['POST'])
def login():
    data = request.form['text']
    resp = make_response(deploy_azure.deploy_function(data))
    return resp


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

【问题讨论】:

  • 什么是 deploy_function(data)?
  • 我正在从不同的 python 脚本调用一个函数并将其传递给 make_response
  • 您的resp 有问题,您的返回。 deploy_function 返回什么?我没有看到您在代码中导入它。我只能看到deploy_azure
  • 你想返回什么?模板还是字符串?
  • 试图返回一个字符串

标签: flask valueerror


【解决方案1】:

如果我对您的理解正确,并且您想在烧瓶视图中返回由deploy_function 方法返回的字符串,那么只需返回它即可。在这种情况下不要使用make_response。您的方法应如下所示:

@app.route('/', methods=['POST'])
def login():
    data = request.form['text']
    return deploy_azure.deploy_function(data)

您还为两个不同的视图函数定义了相同的路由。虽然可以,但是不同的功能最好使用不同的路由。

【讨论】:

  • @user144526 你能显示type(deploy_azure.deploy_function(data))的输出吗?
  • deploy_function 是没有返回的,它已解决。感谢您的帮助:D