2015年1月20日 14:41:47
阶段性暂停!!
把运行结果截图给了老师,老师说先整理下文档,而后下学期来了再部署到服务器上。
那么,下学期来了,估计也要把Epm和CR1000什么的搞好了。
css
先总结一下目前的状况好了:
0.用到的技术
python语言,webpy框架,mysql数据库,nginx部署,emacs和vim编辑器,bootstrap框架,echarts图表库
1.python搭建网站
用的是webpy框架
主要看webpy.org官方文档
2.部署
用nginx作web server。
不过测试的时候用python code.py这种形式运行。
个人代码在linux下运行时:
python view.py
或者:
先开nginx:sudo nginx
再开数据库:sudo systemctl start mysqld
再运行python代码:./start.sh (具体内容也是从webpy.org上copy来的。。)
3.echarts显示数据
webpy使用了模版来渲染html页面,经过webpy脚本从数据库中取出数据,用render传入模版html文件,模版页面中赋值给js变量,而后echarts的数据部分使用js变量,就能输出echart图了!html
4.几个debug过的地方:
(1)python的遍历器只能用一次!好比从数据库中select出的数据,遍历一遍写入数据库后,就不能再传递给模版页面了,由于如今是空的数据了!最终我比较猥琐,从数据中又取了一次数据。
(2)echarts图中,坐标和toolbox什么的能显示,可是数据不显示?由于数据有问题,好比数据库中存储的是char类型的数据,在用python变量赋值给js变量的时候,python变量要用引号''括起来才行!
(3)echarts页面中什么图都没有!若是js代码部分有错误,好比变量名字大小写出错,就有这个问题!这个问题彷佛是由于linux(fedora20)下的数据发反应速度太慢了?anyway,QQ输入法是我最喜欢的,不管是界面仍是速度。
(4)bootstrap-datetimepicker插件的使用:icon图标不显示?多是由于js和css文件的导入顺序有问题!
(5)bootstrap-datetimepicker插件中用户选择的时间,如何获取到?这个是在segmentfault上提问后才知道的,里面的input标签中搞一个id='xxx'就行了。
(6)webpy模版页面中用jQuery不起做用?webpy的模版templetor中使用\(符号做为一个key signal,所以jQuery通常用的\)会引发混淆,解决办法是jQuery的noConflict,而后$符号全换成jQuery就ok了
(7)webpy获取用户输入,用户提交的表单是多选框的状况。虽然如今放弃了多选框这个方案,不过说说解决策略无妨:i=web.input(your_data_name=[]),若是不说明你的数据是[]类型(list类型),那么会被当成string(好像是),这样每次只能得到checkbox的最后一个!
(8)bootstrap-datetimepicker和bootstrap3不兼容,只好退回到bootstrap2。网上彷佛有兼容版本呢,不过我没有去找。
(9)mysql中的decimal(a, b),a表示整个的长度,b表示小数部分的长度。和python中的'{xxx}'.format这种有点不同。
(10)nginx部署时发现css和js等静态文件没法访问?是由于权限不对。。find example_directory -type d -exec chmod 755 {} ;
find example_directory ! -type d -exec chmod 644 {} ;解决。
(11)先写这些吧,其实感受好水啊,但是本身仍是在某些地方卡了很久。python