Python 如何从一个烧瓶视图调用另一个烧瓶视图?

Python 如何从一个烧瓶视图调用另一个烧瓶视图?,python,flask-login,flask,Python,Flask Login,Flask,我在一个blueprint模块中有一个JSON API,在另一个模块中有一个web前端 我希望在将客户端JS代码发送到客户端之前,通过在前端视图模板中嵌入一些它需要的JSON,减少客户端JS代码必须发出的一些AJAX请求 如何从另一个烧瓶视图调用一个烧瓶视图? 我可以直接调用view函数,但是request将对应于“outer”请求,这会混淆被调用的API函数。我已经尝试过了,它几乎可以工作,但我不知道如何保持身份验证(我使用的是Flask登录)。您可以使用: client = app.test

我在一个blueprint模块中有一个JSON API,在另一个模块中有一个web前端

我希望在将客户端JS代码发送到客户端之前,通过在前端视图模板中嵌入一些它需要的JSON,减少客户端JS代码必须发出的一些AJAX请求

如何从另一个烧瓶视图调用一个烧瓶视图?

我可以直接调用view函数,但是
request
将对应于“outer”请求,这会混淆被调用的API函数。我已经尝试过了,它几乎可以工作,但我不知道如何保持身份验证(我使用的是Flask登录)。

您可以使用:

client = app.test_client()
response = client.get('/your/url', headers=list(request.headers))
要使用Flask登录保持身份验证,您需要传递请求的标题


感谢for。

我将采用您用于从名为view的AJAX检索数据的逻辑,并将其放入另一个函数中。此功能不应依赖于身份验证。然后,从两个视图调用该函数。@马克:这是我通常会做的,但是JSON函数依赖于
request
object来生成分页URL和其他一些事情。我不想将它们全部重写为显式传递
端点
请求.args等。我还需要在生成的JSON中包含此分页信息,以便客户端知道如何获取下一页。我同意这不是最优雅的解决方案,但它对我最有效。像一个魅力!您还可以使用flask import current_app中的
,并使用current_app.test_client()