Flask中不同文件中的独立路由

Separate routes in different files in Flask

我想将我的 /api 端点与另一个文件中的其他端点分开。

假设我有这两个文件:

app.py

from flask import Flask
from routes.api_routes improt api
    
app = Flask(__name__)
app = app.register_blueprint(api)
    
app.route("/")
def index():
    return "This is Index"

app.route("/about")
def about():
    return "About page"

api_routes.py

from flask import Blueprint

api = Blueprint('api', __name__)

@api.route('/users')
def users():
    return getUsers()

@api.route('/posts')
def posts():
    return getPosts()

假设我想访问 /api/users/api/posts 但我不想写api_routes.py

上的所有端点之前的前缀“/api”

我怎样才能像在 Express.JS 上那样自动添加前缀?

app.use("/api", apiRoute);

我想在文件的开头添加一个 PREFIX 常量并在其后附加端点的其余部分:

PREFIX = "/api"
...
@api.route(PREFIX+'/users')

您可以在注册蓝图时设置前缀,如下所示:

app = app.register_blueprint(api, url_prefix='api')