信息统计DashBoard踩坑总结
最近根据需求用Tornado框架在写了一个从数据库统计Redis服务器的数量、内存等信息的接口,并写了一个从接口获取数据并推送至grafana进行展示的程序。现在已经实现所有功能,现将实现过程中遇到的问题总结出来,以便后续参考。欢迎批评指正,共同学习进步!
一、数据库操作中的坑
1、mysql查询中想要传入变量时like的使用
在数据库的查询操作中想要查找包含北京二字的字段,like的用法为:
idc like %北京%
在python操作mysql时,需要拼接字符串然后进行处理,这时的用法为:
idc like '%%%%%s%%%%'
2、mysql嵌套查询中{ }的使用
在之前的mysql嵌套查询中我试图通过拼接字符串来实现,后来发现有如下用法:
ctime = '{y_day}'
其中y_day即为需要传入的变量
二、字典相关
在从数据库中取到数据存入字典为unicode。如果直接打印字典为unicode编码,汉字无法识别,有两种解决办法:
for key,value in result_dic.items():
首先通过上述方法取到字典的key、value,然后输出或者拼接成字符串输出,这样都不会出现中文乱码问题
三、从Tornado获取数据中文乱码的问题
在实现了web框架之后,在浏览器输入url进行测试,未发现任何问题。但在代码中使用urllib模块调用函数,从接口获取到数据,中文传递会出现乱码,导致无法正确获取到数据,先怀疑是Tornado设置上的问题或者是urllib模块设置上的问题,但各种找都没有解决,后来请教同事解决了这一问题。主要原因是urllib编码问题,解决方法如下:
api_domain = '10.100.100.100:8080' args_dict = {'type': 'mechine', 'pool_name': 'none', 'idc': '北京'} url_v = urllib.urlencode(args_dict) url = "http://%s/?%s" % (api_domain, url_v) print url response = urllib2.urlopen(url) data = response.read() print json.dumps(data)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
华为5700系列交换机常用配置示例
华为S5700系列交换机,是我们项目中用的较多的一款,其中24与48口应用较多。现在将华为交换机的一些常用配置整理一下,进行记录。如有错误,请指正。 1 允许telnet(远程登录) 允许华为交换机能telnet,设置密码为Admin@123 telnet server en # aaa authentication-scheme default authorization-scheme default accounting-scheme default domain default domain default_admin local-user huawei password cipher Admin@123 local-user huawei privilege level 15 local-user huawei service-type telnet terminal local-user admin password cipher Admin@123 local-user admin service-type http # user-interface con 0 authe...
- 下一篇
Java实现Web页面前数字字母验证码实现
最近公司做项目开发中用到了验证码实现功能,将实现代码分享出来, 前段页面实现代码: <ul> <li><label>验证码:</label></li> <li> <div> <inputtype="text"name="validateCode"class="login_input"value=""/> <imgid="img"src="${baseURL}/validateCode"onclick="onclickValidateCode(this);"/> </div> </li> </ul> 为了表达清晰,样式部分代码去掉了,大家根据自己的需求,自己添加样式。 页面JS代码:触发变动验证码改变的JS <scripttype="text/javascript"language="javascript"> //请求获取验证码 functiononclickValidateCode(obj){ $(obj).attr("src",...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案