flask的动态网页_Streamlit 已经强大到如此地步,可以完全代替flask吗?

头条号:人工智能研究所
微@信搜索:启示AI科技

什么是flask

Flask 是一个微型的 Python 开发的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎。 Flask使用BSD授权。 Flask也被称为"microframework",因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。因为它使用简单,自由性强,可以很方便快捷搭建自己的web服务器,深受广大开发者的喜爱。

关于flask的基础知识,小伙伴们可以参考小编往期的文章

什么是streamlit

Streamlit是第一个专门针对机器学习和数据科学团队的应用开发框架,它是开发自定义机器学习工具的最快的方法,你可以认为 它的目标是取代Flask在机器学习项目中的地位,可以帮助机器学习开发者工程师快速开发用户交互工具,streamlit主要引用了如下第三方库,从如下引用的第三方库可以看出streamlit的强大

2aba78102405363107f2237dc7f04a17.png

安装不必细说 pip install streamlit 就会安装streamlit模块和相关模块

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask 中,使用 `before_first_request` 装饰器定义的函数中创建的变量是全局变量,可以在应用程序的任何地方使用。但是需要注意的是,这些变量在多线程环境下可能会出现线程安全问题,需要进行适当的线程安全处理。 具体来说,如果你在 `before_first_request` 函数中创建的变量需要被其他请求调用,可以将其保存在 Flask 应用实例对象的一个属性中,然后在其他请求中使用这个属性。例如: ```python from flask import Flask, request app = Flask(__name__) @app.before_first_request def init_global_variable(): # 定义一个全局变量并保存在 Flask 应用实例对象的属性中 app.some_variable = 'Hello, World!' @app.route('/') def index(): # 在请求中使用保存在 Flask 应用实例对象中的全局变量 return app.some_variable @app.route('/set') def set_variable(): # 在请求中修改保存在 Flask 应用实例对象中的全局变量 app.some_variable = request.args.get('variable') return 'OK' ``` 在上面的代码中,`init_global_variable` 函数在整个 Flask 项目启动前运行一次,并在其中创建了一个全局变量 `app.some_variable`。在 `index` 视图函数中,可以直接使用这个全局变量,并返回它的值。在 `set_variable` 视图函数中,可以修改这个全局变量的值。 需要注意的是,在多线程环境下,对于一些需要读写的全局变量,可能需要进行适当的线程安全处理,例如使用锁来保证数据的一致性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值