首页 > 解决方案 > 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

标签: python-3.xflaskroutes

解决方案


您可以通过简单地在任何路由上方堆叠额外的路由装饰器来使用单个函数处理多个路由! 你不能有多个同名函数 你可以将第二个函数的名称更改为 hello2

@app.route('/')
@app.route('/index')
def hello():
   return "Hello world"

@app.route("/index2")
def hello2():
   return "Hello world2"

推荐阅读