Python 无法访问Flask Web服务器

Python 无法访问Flask Web服务器,python,python-3.x,flask,pip,Python,Python 3.x,Flask,Pip,这是我在Visual studio 2017上运行的测试代码,文件名为test: from flask import Flask, request #import main Flask class and request object from test import app app = Flask(__name__) #create the Flask app @app.route('/query-example') def query_example(): return

这是我在Visual studio 2017上运行的测试代码,文件名为test:

from flask import Flask, request      #import main Flask class and request object
from test import app

app = Flask(__name__) #create the Flask app

@app.route('/query-example')
def query_example():
    return 'Todo...'

@app.route('/form-example')
def formexample():
    return 'Todo...'

@app.route('/json-example')
def jsonexample():
    return 'Todo...'

if __name__ == '__main__':
    app.run(debug=True, port=5000) #run app in debug mode on port 5000
但当我在Visual studio 2017中运行它,并在Chrome浏览器中输入此路由“”时,我总是收到此错误消息

“找不到404” 在服务器上找不到请求的URL。如果您输入了URL 请手动检查拼写,然后重试

我是一名学习者,尝试以下文章:

  • Python:3.6
  • 烧瓶:0.12.4
  • 皮普:18.1
早些时候,我使用相同的代码获取返回消息,但是在将flask更新为0.12.4之后,它不工作,我认为有些事情已经改变了。我无法调试确切的问题

--更新--

好的,在将flask版本更新为1.0.2后,仍然无法从url访问Web服务器:。请查看下面的屏幕截图

我发现404错误未找到:

找不到

在服务器上找不到请求的URL。如果您输入了URL 请手动检查拼写,然后重试

建议您确认.env和.flaskenv文件没有干扰。(很可能不是。)

阴影 您确实需要避免用另一个符号遮挡一个符号

请不要将您的模块命名为
test
,因为python附带具有该名称的系统库。您可以使用
test1
,以避免不必要的混淆

请将全局变量重命名为
app
,因为您的模块有一个
app.py
文件

根URL 请添加一个
/
斜线路径,即使它不是严格必需的。 您将发现它有助于调试

@app_.route('/')
def root():
    return '<h1>top level</h1>'
这将启用调试模式,这将帮助您了解路由问题的根源。 另外,编辑后重新加载非常方便。 关键是运行
python
,而不是运行
flask
,后者反过来运行
python
,建议您应该验证.env和.flaskenv文件没有干扰。(很可能不是。)

阴影 您确实需要避免用另一个符号遮挡一个符号

请不要将您的模块命名为
test
,因为python附带具有该名称的系统库。您可以使用
test1
,以避免不必要的混淆

请将全局变量重命名为
app
,因为您的模块有一个
app.py
文件

根URL 请添加一个
/
斜线路径,即使它不是严格必需的。 您将发现它有助于调试

@app_.route('/')
def root():
    return '<h1>top level</h1>'
这将启用调试模式,这将帮助您了解路由问题的根源。 另外,编辑后重新加载非常方便。
关键是,在我进行故障排除时,您不是运行
python
,而是运行
flask
,后者反过来运行
python
,我注意到上述代码在raspberry Pi zero模块中使用相同的python和flask版本。但它仍然不能在Windows7上的VisualStudio中工作。我的visual studio可能存在一些问题。我将卸载它,然后重新安装。但是是的,我的问题现在已经解决了。感谢大家的回答。

在我进行故障排除时,我注意到上面的代码在raspberry Pi zero模块中使用相同的python和flask版本。但它仍然不能在Windows7上的VisualStudio中工作。我的visual studio可能存在一些问题。我将卸载它,然后重新安装。但是是的,我的问题现在已经解决了。谢谢大家的回答。

我在Ubuntu 19.10上运行VS代码时遇到了同样的问题。问题是路由视图函数返回的字符串

@app.route('/')
@app.route('/index')
def index():

    return 'Hello World!'
给出错误404。但当我改为:

@app.route('/')
@app.route('/index')
def index():

    return '<h1>Hello World!</h1>'
@app.route(“/”)
@应用程序路径(“/index”)
def index():
返回“你好,世界!”

一切都很好。

我在Ubuntu 19.10上运行VS代码时遇到了同样的问题。问题是路由视图函数返回的字符串

@app.route('/')
@app.route('/index')
def index():

    return 'Hello World!'
给出错误404。但当我改为:

@app.route('/')
@app.route('/index')
def index():

    return '<h1>Hello World!</h1>'
@app.route(“/”)
@应用程序路径(“/index”)
def index():
返回“你好,世界!”

一切都很好。

检查是否有其他服务在本地主机上运行:5000?简单的方法是使用另一个端口号并检查它是否工作。您的代码在flask
1.0.2
上运行良好。您正在跟踪从
test
导入的
app
(与您的问题无关)。没有根,因此
http://127.0.0.1:5000
确实返回
404
@Philip Tzou端口5000上没有其他程序运行。@jlandercy我没有得到你的答案。你能详细说明一下吗?你的代码可以在更高版本上运行。test import app中的
行无效,因为您正在跟踪
app
变量(但它不太可能与您的问题相关)。因为您没有为根
@app.route('/')
添加路由,所以基本url
http://127.0.0.1:5000
是否返回
404
(是否确定尝试了正确的url?)。我的建议是更新你的烧瓶版本,注释掉第二个导入。然后运行并检查正确的url。另外添加一个根目录,这在某种程度上是有帮助的。检查是否有其他服务在本地主机上运行:5000?简单的方法是使用另一个端口号并检查它是否工作。您的代码在flask
1.0.2
上运行良好。您正在跟踪从
test
导入的
app
(与您的问题无关)。没有根,因此
http://127.0.0.1:5000
确实返回
404
@Philip Tzou端口5000上没有其他程序运行。@jlandercy我没有得到你的答案。你能详细说明一下吗?你的代码可以在更高版本上运行。test import app
中的
行无效,因为您正在跟踪
app
变量(但它不太可能与您的问题相关)。因为您没有为根
@app.route('/')
添加路由,所以基本url
http://127.0.0.1:5000