gpt4 book ai didi

google-app-engine - 使用蓝图为 Flask 动态生成路由

转载 作者:太空宇宙 更新时间:2023-11-03 15:36:25 28 4
gpt4 key购买 nike

我喜欢为托管在 Google App Engine 上的 Flask 应用程序生成路由。目前我正在使用蓝图生成路线。比如

conference_routes = Blueprint('conference_routes', __name__)


@conference_routes.route('/home/Conferences/QCCC-Mappleton-2015')
def mappleton_conference():
return render_template('Mappleton-2015.html')

然后我像这样从 main.py 中注册蓝图

app.register_blueprint(conference_routes)

这变得非常麻烦,尤其是当我们有超过 100 条路线时。我希望在数据库中定义路由并在运行时动态构建它们。

这可能吗?

最佳答案

This答案显示了 .add_url_rule 的使用:

for page in session.query(Page):
route = u'/{0}/{1}/{2}'.format(page.id1, page.id2, page.id3)
app.add_url_rule(
route,
page.name, # this is the name used for url_for
partial(actual_handler, page=page),
)

This answer 提供了设置这些路线的有用信息,并且 this answer也有几个很好的例子。

听起来您可能希望在设置应用变量后立即添加所有路由:

conference_routes = Flask(__name__)
# load info from database
# insert routes

如果您的文件像您的示例一样都是 1-1,那么您甚至不需要该路由加载方法 - 只需从 url 中查找文件即可:

@conference_routes.route('/<path:path>')
def search_file(path):
# (in)validate path
# return html template or 404

关于google-app-engine - 使用蓝图为 Flask 动态生成路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29887207/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com