在 Flask 中指定路由

Specify Routes in Flask

我正在使用 Flask 创建 Restful 网络服务。 从示例中我看到我们使用像

这样的注释

@app.route('/')

如果我有两个 类,我想知道如何使用它。我尝试将其移动到包内的另一个文件,但随后出现 404 错误。

Service.py

的内容
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

Flask.py

的内容
from flask import Flask

app = Flask(__name__)

if __name__ == '__main__':
    app.run()

我只是想知道如何指定不同的路线 类。

不要在两个模块中都定义 app。只在一个地方定义它并在其他地方导入它。在定义 app 的模块中,在 定义它之后导入其他模块 ,以避免循环导入。

Flask 项目的基本结构如下所示:

MyProject/
    my_package/
        __init__.py
        service.py
    run.py

MyProject/my_package/__init__.py

from flask import Flask

app = Flask(__name__)

from my_project import service

MyProject/my_package/service.py

from my_project import app


@app.route('/')
def hello_world():
    return 'Hello, World!'

MyProject/run.py

from my_package import app

app.run('localhost', debug=True)

使用 MyProject 目录中的 python run.py 到带有开发服务器的 运行 应用程序。


您还有一些术语错误。他们被称为 "decorators",而不是 "annotations"。它们被称为 "modules",而不是 "classes"。此外,通常的做法是给文件小写名称。