Skip to main content

通过 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.tar.gz (12.2 kB 查看哈希

已上传 source

内置分布

Flask_State_test-1.0.2b1-py3-none-any.whl (17.6 kB 查看哈希

已上传 py3