毕设demo写好
2015年1月20日 14:41:47
阶段性暂停!!
把运行结果截图给了老师,老师说先整理下文档,然后下学期来了再部署到服务器上。
那么,下学期来了,估计也要把Epm和CR1000什么的搞好了。



先总结一下目前的情况好了:
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图了!
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)先写这些吧,其实感觉好水啊,可是自己还是在某些地方卡了好久。
毕设demo写好的更多相关文章
- android JNI 简单demo(2)它JNI demo 写
android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...
- 想着模仿京东微信首页呢,banner滚动搞定了,写到了一半了
接着上篇 微信小程序-阅读小程序demo写:http://www.cnblogs.com/muyixiaoguang/p/5917986.html 想着模仿京东首页呢,结果也没赶得及写完,轮播图让我搞 ...
- 自己动手写ORM的感受
之前看到奋斗前辈和时不我待前辈的自己动手写ORM系列博客,感觉讲解的通俗易懂,清晰透彻.作为一个菜鸟,闲来也想着自己写一个ORM,一来加深自己对 ORM的理解,以求对EF,NHibernate等ROM ...
- RecyclerView,CardView导入和使用(Demo)
简介: 这篇文章是ANDROID L——Material Design详解(UI控件)的一个补充或者说是应用实例,如果有时间建议大家稍微浏览一下上篇文章. 本文主要介绍Android L新增加的两个U ...
- WHY翻写NEHE与红龙的3D图形程序 [开源]
个人认为学习3D图形程序开发,有两套经典教程.D3D的<D3D游戏开发编程基础>也就是红龙那本书.OpenGL的NEHE教程.为向经典致敬,将我之前翻写他们的程序开源. 我所做的工作是将其 ...
- 开始写自己的iOS技术博客了
2015-09-26 中秋节前夕,开始写自己的iOS开发相关的技术博客,还请广大专业的人士批评指教!欢迎纠错和交流! 在来到北京的第二家公司艾亿新融资本管理的子公司——资配易.由于基本没有加班,也算有 ...
- JavaScript面向对象轻松入门之概述(demo by ES5、ES6、TypeScript)
写在前面的话 这是一个JavaScript面向对象系列的文章,本篇文章主要讲概述,介绍面向对象,后面计划还会有5篇文章,讲抽象.封装.继承.多态,最后再来一个综合. 说实话,写JavaScript面向 ...
- 一个基于ES6+webpack的vue小demo
上一篇文章<一个基于ES5的vue小demo>我们讲了如何用ES5,vue-router做一个小demo,接下来我们来把它变成基于ES6+webpack的demo. 一.环境搭建及代码转换 ...
- 一个基于ES5的vue小demo
由于现在很多vue项目都是基于ES6开发的,而我学vue的时候大多是看vue官网的API,是基于ES5的,所以对于刚接触项目的我来说要转变为项目的模块化写法确实有些挑战.因此,我打算先做一个基于ES5 ...
随机推荐
- merger_by_one 处理二维数组,根据里面某字段合并, 里面有的保留,有的求和~~
public function tt(){ $param = array( array ( 'hykno' => '2222222-CB', 'tcdk_fid' => '458B6D70 ...
- Lvs+Keepalived实现MySQL高可用
LVS+Keepalived+MySQL高可用配置 本文所有配置前提是已实现MySQL双主备份(MySQL双主) 安装前的准备: VIP:192.168.0.201 Keepalived: Keepa ...
- unity还原three——顶点,三角面,uv
public class Geometry { public Geometry(string name, Data data, Hashtable hash) { Debug.Log("解析 ...
- Lucene之Java实战
1.导包 2.索引的创建 2.1首先,我们需要定义一个词法分析器. Analyzer analyzer = new IKAnalyzer();//官方推荐 Analyzer analyzer = ne ...
- Scala2.10.4在CentOS7中的安装与配置
随着基于内存的大数据计算框架——spark的火爆流行,用于编写spark内核的Scala语言也随之流行开来.由于其编写代码的简洁性,受到了越来越多程序员的喜爱.我今天给大家展示的时Scala2.10. ...
- 微服务深入浅出(10)-- Docker
概念 1.Docker引擎 一个运行在服务器上的后台进程 2.Docker客户端 分为两种:CLI和RestAPI,与Docker引擎交互 3.Docker镜像 类似于我们使用的光盘,将程序打包到Do ...
- 【Linux 命令】 rsync 目录覆盖软链接,保持软链接不变并同步目录内容
需求:有两个相同文件名的目录需要使用其中一个目录覆盖另外一个 问题: 被覆盖目录下存在软链接,但在源目录下软链接是一个目录 需要解决的方案: 要求将原目录里和被覆盖目录里冲突的目录文件复制到B的软链 ...
- HDU 1251 统计难题 (裸的字典树)
题目链接 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本 ...
- css的盒模型手机端兼容写法应该是啥样的呢?
前言:刚刚接触css3的盒模型,感觉对于解决水平垂直居中.固定宽度/高度和可变宽度/高度同时存在这样的问题很有效.但是最近在看一个腾讯手机端框架(Frozen UI )的时候发现一个很神奇的多行文字截 ...
- perl6 Net::HTTP 不能发送https请求
如下命安装必要的包: sudo apt install libssl1.0.0 libssl-dev zef install IO::Socket::SSL zef install Net::HTTP