You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在Flask应用内部运行Streamlit应用

Flask整合Streamlit实现身份验证方案可行性说明

该方案完全具备可行性,你调不通大概率是选择了错误的整合方式,不要尝试将Streamlit运行时直接嵌入Flask路由逻辑内调用,二者运行模型不兼容:Streamlit是依赖长连接WebSocket的单页应用服务,和Flask的短连接HTTP请求响应模型天生不适配硬嵌入。

你可以选择以下两种成熟落地路径:

  • 反向代理模式(最稳定,优先选择)
    独立启动Streamlit服务,给该服务配置端口访问限制,仅允许Flask所在服务器的IP访问,避免用户绕过验证直接访问Streamlit地址。所有用户请求统一走Flask入口,身份验证逻辑全部在Flask侧实现,验证通过后由Flask反向代理到后端的Streamlit服务即可。
  • 同进程托管模式
    如果你需要把两个服务合并部署,可以在Flask启动时通过subprocess模块拉起Streamlit子进程,权限验证、反向代理逻辑和第一种路径完全一致,只是服务托管方式不同,不需要改动核心业务逻辑。

两种路径的身份验证都可以直接复用Flask现有体系:用户登录成功后在session中写入授权标记,所有请求转发到Streamlit前先校验session授权标记,校验不通过直接拦截跳转至登录页即可。

内容的提问来源于stack exchange,提问作者John Taylor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:27:07