我正在尝试运行一个简单的flask应用程序,其中仅显示hello world,但是出现类型错误。在类型错误中有一个引用,该引用指定一个名为app.py的文件并在其中显示错误,但我无法弄清楚它们。我遇到错误的文件在flask文件夹中。请帮助我如何解决此问题。
我已经完成了运行这些代码的工作,由于命令提示符给了我localhost代码,但是当我尝试在浏览器上运行时,我遇到了类型错误。
set FLASK_ENV=development
set FLASK_APP=app.py
这是我的代码
from flask import Flask
app = Flask("__name__")
@app.route("/")
def index():
print("Hello World")
当我在命令提示符下运行这三行内容
set FLASK_ENV=development
set FLASK_APP=app.py
flask run
**我收到了这个**
此后,当我在浏览器中使用代码时,浏览器将向我显示
Traceback (most recent call last):
File "c:\users\muhammad umar\appdata\local\programs\python\python37- 32\lib\site-packages\flask\app.py", line 2463, in __call__
return self.wsgi_app(environ, start_response)
File "c:\users\muhammad umar\appdata\local\programs\python\python37- 32\lib\site-packages\flask\app.py", line 2449, in wsgi_app
response = self.handle_exception(e)
File "c:\users\muhammad umar\appdata\local\programs\python\python37-32\lib\site-packages\flask\app.py", line 1866, in handle_exception
reraise(exc_type, exc_value, tb)
File "c:\users\muhammad umar\appdata\local\programs\python\python37-32\lib\site-packages\flask\_compat.py", line 39, in reraise
raise value
File "c:\users\muhammad umar\appdata\local\programs\python\python37-32\lib\site-packages\flask\app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "c:\users\muhammad umar\appdata\local\programs\python\python37-32\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
return self.finalize_request(rv)
File "c:\users\muhammad umar\appdata\local\programs\python\python37-32\lib\site-packages\flask\app.py", line 1967, in finalize_request
response = self.make_response(rv)
File "c:\users\muhammad umar\appdata\local\programs\python\python37-32\lib\site-packages\flask\app.py", line 2097, in make_response
"The view function did not return a valid response. The"
TypeError: The view function did not return a valid response. The function either returned None or ended without a return statement.
答案 0 :(得分:1)
您不应该打印响应,需要返回它,以便Flask可以将其发送到浏览器:
from flask import Flask
app = Flask("__name__")
@app.route("/")
def index():
return "Hello World"
这并不是说您不能打印,可以(它显示在控制台中),但是请记住在您的路线中返回响应。
答案 1 :(得分:0)
您不需要“打印”输出,而需要“返回”。因此更改后的代码将是:
from flask import Flask
app = Flask("__name__")
@app.route("/")
def index():
return "Hello World"