通过 Echarts 向用户展示本地状态。
项目描述
烧瓶状态
Flask-State 是一个基于 Flask 的可视化插件。如果你配置了redis,它可以每分钟记录本地状态,读取redis的状态,并通过Echarts生成数据图表展示给用户。
安装
使用pip安装和更新:
$ pip install Flask-State
显示组件可以使用<script>来自 CDN 的标签,或者作为 npm 上的烧瓶状态包。
<script src="https://cdn.jsdelivr.net/gh/yoobool/flask-state@v1.0.2/packages/umd/flask-state.min.js"></script>
npm install flask-state --save
用法
安装 Flask-State 后,您还需要导入 JavaScript 文件和 CSS 文件来为您的元素绑定一个约定 ID 值。在某些配置中,您还可以选择修改它们。
首先:我们将设置一个 Flask 应用程序。
from flask import Flask
app = Flask(__name__)
其次:绑定数据库地址。
from flask_state import DEFAULT_BIND_SQLITE
app.config['SQLALCHEMY_BINDS'] = {DEFAULT_BIND_SQLITE: 'sqlite:///path'}
第三:调用flask-state的init_app方法初始化配置。
import flask_state
flask_state.init_app(app)
最后:选择合适的方式导入视图文件。
<!--CDN-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/yoobool/flask-state@v1.0.2/packages/flask-state.css">
<script src="https://cdn.jsdelivr.net/gh/yoobool/flask-state@v1.0.2/packages/umd/flask-state.min.js"></script>
<script type="text/javascript">
// Create a DOM node with ID 'test'. After init() binds the node, click to open the listening window
flaskState.init({dom:document.getElementById('test')});
</script>
// npm
import 'flask-state/flask-state.css';
import {init} from 'flask-state';
// Create a DOM node with ID 'test'. After init() binds the node, click to open the listening window
init({dom:document.getElementById('test')});
额外:您还可以自定义一些配置(非必要)。
监控redis状态。
app.config['REDIS_CONF'] = {'REDIS_STATUS': True, 'REDIS_HOST': '192.168.1.1', 'REDIS_PORT':16380, 'REDIS_PASSWORD': 'psw'}
修改保存监控记录的时间间隔。
# The minimum interval is 60 seconds. The default interval is 60 seconds
import flask_state
SECS = 60
flask_state.init_app(app, SECS)
自定义记录器对象。
import flask_state
import logging
custom_logger = logging.getLogger(__name__)
flask_state.init_app(app, interval=60, log_instance=custom_logger)
自定义绑定触发窗口的对象。
/* When the initialization plug-in does not pass in an object, the plug-in will automatically create a right-hand suspension ball */
/* Note: all pages share a plug-in instance. Calling init() method multiple times will only trigger plug-in events for new object binding */
flaskState.init();
选择插件显示的语言,现在支持en、zh。
<!--Note: the language file imported through the tag must be after the plug-in is imported-->
<script src="https://cdn.jsdelivr.net/gh/yoobool/flask-state@v1.0.2/packages/umd/flask-state.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/yoobool/flask-state@v1.0.2/packages/umd/zh.js"></script>
<script type="text/javascript">
flaskState.init({lang:flaskState.zh});
</script>
import {init} from 'flask-state';
import {zh} from 'flask-state/i18n.js';
init({lang:zh});
贡献
欢迎打开问题!
Flask-State 遵循贡献者契约行为准则。
社区频道
我们在Gitter上!请加入我们。
执照
Flask-State 在 BSD-3-Clause 许可下可用。
项目详情
关
Flask_State_test -1.0.2b1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7336e3793ad8fb53fb1f5527ce841d48eaa8959acd9ada95d21c1febbc967574 |
|
| MD5 | eebd056184ada780ec8d17b3b3f4cb02 |
|
| 布莱克2-256 | b332d3cec257db0fe243e6b5715ff1ac47c8e7511b860e7e767611227949f629 |