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