zoukankan      html  css  js  c++  java
  • FLASK报错,TypeError,需要valid response

    今日继续调试abstract的flask框架项目,遇到这样的报错。

    TypeError
    TypeError: The view function did not return a valid response. The function either returned None or ended without a return statement.

    源代码如下:

    from app import app
    from flask import render_template,request
    import sys
    sys.path.append('examples')
    sys.path.append('src')
    import testrun
    @app.route('/')
    @app.route('/index')
    #def index():
    #    return render_template('index.html', title='请您输入')
    @app.route('/index',methods=['GET','POST'])
    def index():
        input_text=''
        output_text=''
        if request.method == 'POST':
            print('post')
            # 接收数据
            input_text=request.form.get('input_text')
            with open('data/test_news.txt', 'w', encoding='utf=8') as f:
                f.writelines(input_text)
            output_text=testrun.test( )
            print(output_text)
            return render_template('index.html',title='文本摘要结果', input_text=input_text,abstract_text=output_text)
    

      

    后来,看到另外一篇文章
    Flask 使用过程
    被route()装饰器所装饰的functions()必须有返回值
    from flask import Flask
    app = Flask(__name__)

    @app.route('/')
    def hello_world():
    'Hello World!' # 没有关键字return

    if __name__ == '__main__':
    app.run()
    TypeError: The view function did not return a valid response. The function either returned None or ended without a return statement.
    受到启示,函数必须有返回值!
    把return语句的缩进位置调整一下,

    def index():
        input_text=''
        output_text=''
        if request.method == 'POST':
            print('post')
            # 接收数据
            input_text=request.form.get('input_text')
            with open('data/test_news.txt', 'w', encoding='utf=8') as f:
                f.writelines(input_text)
            output_text=testrun.test( )
            print(output_text)
        return render_template('index.html',title='文本摘要结果', input_text=input_text,abstract_text=output_text)
    

      


    终于不再报错。特此记录,以供以后参考。

  • 相关阅读:
    Django基础二之URL路由系统
    Django基础一之web框架的本质
    HTTP协议超级详解
    动态规划-背包问题
    java 中对象比较大小
    排序算法
    泛型
    打jar包和使用jar包
    Mongodb中Sharding集群
    linux时间同步,ntpd、ntpdate
  • 原文地址:https://www.cnblogs.com/z-cm/p/12805475.html
Copyright © 2011-2022 走看看