python-3.x - Python 和 Flask 我无法访问 views.py 中定义的路由
问题描述
我在 Python 中有应用程序并使用 Flask。这是没有 html 文件的 web api 应用程序。在 server_pi.py 我有:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello world"
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8082, debug=True)
应用程序启动和当我在浏览器中输入时:localhost:8082/
它显示我Hello world
但是我在 view.py 文件中有其他端点,它位于 app 文件夹中。这是我的项目的结构:
rpi_server2:
-app:
-views.py
-init.py
-server_pi.py
-run.py
在views.py
我有端点:
@app.route('/')
@app.route('/index')
def hello():
return "Hello world"
@app.route("/index2")
def hello():
return "Hello world2"
而且我无法到达这个端点。当我localhost:8082/index2
在浏览器中输入时,我得到404 error
. 当我评论结果是一样的@app.route('/')
。server_pi.py
这是我在 RPi 上的示例应用程序的代码。
server_pi.py
:
from flask import Flask
app = Flask(__name__)
#@app.route("/turnleft")
#@app.route("/")
#def hello():
# return "Hello World!"
if __name__ == "__main__":
app.run(host='127.0.0.1', port=8082, debug=True)
在文件夹应用程序中我有文件init.py
:
from flask import Flask
app = Flask(__name__)
from app import views
和 app 文件夹中的第二个文件views.py
:
from app import app
@app.route('/')
@app.route('/index')
def index():
return "Hello, World!"
当我localhost:8082/index
在浏览器中输入时,我有404
解决方案
您可以通过简单地在任何路由上方堆叠额外的路由装饰器来使用单个函数处理多个路由! 你不能有多个同名函数 你可以将第二个函数的名称更改为 hello2
@app.route('/')
@app.route('/index')
def hello():
return "Hello world"
@app.route("/index2")
def hello2():
return "Hello world2"
推荐阅读
- entity-framework - 如何创建和填充 DbSet(Of T)?
- android - 任何可用于对讲阅读完成的回调 - Android
- lazy-loading - 带有惰性大小的 Swiper 5
- c# - 如何从这个 JSON 数组中读取所有值?
- json - 我们可以将 JSON 中的数据返回到除了 ListView 之外的任何东西中吗?
- c++ - D3D12 SetPredicate 性能
- android - 应用程序读取分钟为秒
- r - 使用 geom_freqpoly 时如何删除范围末端的线条?
- kubernetes - 如何仅根据它们是否已完成 kubernetes 中的某个任务来终止某些 pod?
- c# - 批量删除行。如何打开/重用 SQL Server 连接?