当前位置: 首页 > 知识库问答 >
问题:

我面对的是TypeError:视图函数没有返回有效的响应。该函数要么返回 None,要么在没有 return 语句的情况下结束

蒙麒
2023-03-14

嗨,我正在尝试使用烧瓶创建水平条形图,并面临以下错误。类型错误:视图函数未返回有效响应。该函数要么返回 None,要么在没有 return 语句的情况下结束。请帮忙。提前致谢。

来自flask的app.py导入Flask,重定向,url_for,render_template,请求,flash,会话导入熊猫as PD app = Flask(name)app . debug = True

@app.route('/', methods=['GET','POST'])
def index():
            return render_template('index.html')

@app.route('/data', methods=['GET','POST'])
def dropdown():
    if request.method == 'POST':
        file = request.form['upload-file']
        data = pd.read_excel(file)
        data = pd.DataFrame(data)
        colours=data['Question'].unique().tolist()
        return render_template('test.html', colours=colours)

@app.route("/data/submitted", methods=['GET', 'POST'])
def charts():
    #select = request.form.get('colour')
    if request.method == 'POST':
        to_filter = request.form.get['colours']
        # filter the data here
        plot_data = data[data['Themes'].str.contains(to_filter)]
        plot_data['flag'] = 1
        plot_data2 = plot_data.groupby(['Themes'])['flag'].sum().reset_index()
        #colours1 = data1['Question'].unique().tolist()
        labels = plot_data2['Themes'].tolist()
        values = plot_data2['flag'].tolist()
        bar_labels = labels
        bar_values = values
        return render_template("sample_chart1.html", labels=bar_labels,data=bar_values)

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

sample_chart1.html

<!-- Load d3.js -->
<script src="https://d3js.org/d3.v4.js"></script>
<head>
  <meta charset="utf-8" />
  <title>Charts.js</title>
  <!-- import plugin script -->
</head>

<h1>Chart</h1>
<!-- Create a div where the graph will take place -->
<div id="my_dataviz"></div>
<!-- bar chart canvas element -->
<canvas id="chart" width="300" height="200"></canvas>
<p id="caption">Distribution of Topics.</p>

<script>

// create the chart using the chart canvas

var chartData = {
  labels : [{% for item in labels %}
             "{{item}}",
            {% endfor %}],
  datasets : [{
      data : [{% for item in values %}
                {{item}},
              {% endfor %}],
      spanGaps: false
  }]
}

// get chart canvas
var ctx = document.getElementById("myChart").getContext("2d");

var myChart = new Chart(ctx, {
  type: 'horizontal bar',
  data: chartData,
});

</script>

共有1个答案

廖鸿达
2023-03-14

它正在发出一个GET请求,该请求没有通过< code > if request . method = = ' POST ' ,因为它没有通过,所以没有POST请求的返回

 类似资料:
  • 问题内容: 我编写了一个打印表格的程序。我没有在主函数中包含返回语法,但是无论何时我键入echo $?它显示12。 我的源代码: 我尚未编写return 12,但每次执行程序时它仍返回12。 谢谢。 问题答案: 正如swegi所说,这是未定义的行为。 正如史蒂夫·杰索普(Steve Jessop)等人所说,在C89之前,它是一个未指定的值,并在C99中指定(观察到的行为与C99不符)。 在大多数环

  • 这是我的代码行,我得到一条警告:“函数返回non void时没有返回语句警告”,我将total声明为:static int total; 有什么建议我如何摆脱警告?

  • 在 C 中,当一个应该返回对象的函数在没有 return 语句的情况下结束时会发生什么?会得到什么回报? 例如。

  • 问题内容: 目前,我正在努力学习Python,而在递归函数方面却陷入了停滞。在Think Python中 ,练习之一是编写一个函数,该函数使用以下定义来确定 a 是否为 b 的幂: “如果a被b整除,则a是b的幂,而a / b是b的幂。编写一个名为is_power的函数,该函数接受参数a和b,如果a是b的幂,则返回True。” 我函数的当前状态是: 实际上,这产生了我期望的结果。但是,本章着重于编

  • 如您所见,它将参数和的和保存在变量中,然后将包含它们的和的eax寄存器保存在变量中,就像函数返回值一样。 这样做是因为函数是用返回值定义的吗?

  • 我在处理我的第一个烧瓶Web应用程序时遇到了此错误。在这个应用程序中,我试图通过使用Uber H3和haversine公式来获得两点之间的距离。我是这方面的初学者,所以任何帮助将不胜感激。 类型错误:视图函数未返回有效响应。返回类型必须是字符串、字典、元组、响应实例或 WSGI 可调用,但它是一个 int。