如何将构造函数参数传递到Flask蓝图?

2024-05-29 04:20:41 发布

您现在位置:Python中文网/ 问答频道 /正文

在Flask网站中,我想创建一个名为gallery的蓝图,它是一个lightbox/art-gallery应用程序,但有多个实例。例如

app.register_blueprint(gallery,url_prefix='/photos')
app.register_blueprint(gallery,url_prefix='/paintings')

然而,我希望gallery的两个实例具有完全独立的内容源,因此蓝图需要一个额外的参数,即

^{pr2}$

我怎样才能做到这一点?或者,我可以访问蓝图本身的url前缀是什么?在


Tags: 实例registerapp应用程序urlflask内容prefix
2条回答

我不确定Flask是否实现了Werkzeug所做的所有路由工作(Flask基于Werkzeug),但在Werkzeug中,您可以使用any路由,如下所示:

gallery = Blueprint(__name__, __name__, url_prefix='/<any("photos,paintings"):source>')

如果在视图中使用@gallery.route,您将得到一个参数source,可以用它来确定源目录。在

^{pr2}$

不知道这在烧瓶里是否有效,但值得一试。。。在

可以使用request对象的多个属性来获取Blueprint对象的url_prefix。在

也许request.script_root就是你想要的。有关详细信息,建议使用Flask documentation about request object。在

相关问题 更多 >

    热门问题