毕设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 ...
随机推荐
- 详细MATLAB 中BP神经网络算法的实现
MATLAB 中BP神经网络算法的实现 BP神经网络算法提供了一种普遍并且实用的方法从样例中学习值为实数.离散值或者向量的函数,这里就简单介绍一下如何用MATLAB编程实现该算法. 具体步骤 这里 ...
- Java入门:读写文本文件
文本文件的读写是学习java必须掌握的一项基本技术,因为在项目中时常会涉及到文本文件的读写. 一.使用FileWriter写文件 1.FileWriter类 [功能] FileWriter类专门用来写 ...
- php中文网在这里给大家汇总了最热门最全面的php面试题
PHP面试题汇总 视频版: 1.<最新PHP面试视频教程> http://www.php.cn/course/876.html 2.<PHP经典算法面试题> http://ww ...
- Go_18: Golang 中三种读取文件发放性能对比
Golang 中读取文件大概有三种方法,分别为: 1. 通过原生态 io 包中的 read 方法进行读取 2. 通过 io/ioutil 包提供的 read 方法进行读取 3. 通过 bufio 包提 ...
- HTTP返回代码 403 404 500等代表的含义
在网站日志中,我们经常会看到很多返回的http代码,如201.304.404.500等等.可是这些具体的返回的HTTP代码究竟什么含义呢,在此做一下知识普及吧,记不住不要紧,到时候看看就行了,但最主要 ...
- 超简单将Centos的yum源更换为国内的阿里云源
自己的yum源不知道什么时候给改毁了……搜到了个超简单的方法将yum源更换为阿里的源 完全参考 http://mirrors.aliyun.com/help/centos?spm=5176.bbsr1 ...
- bzoj千题计划114:bzoj1791: [Ioi2008]Island 岛屿
http://www.lydsy.com/JudgeOnline/problem.php?id=1791 就是求所有基环树的直径之和 加手工栈 #include<cstdio> #incl ...
- 《设计模式》-原则三:依赖倒置原则(DIP)
这几天晚上回来都去玩了!没有坚持学习.真的好惭愧! 非常自责 后面一定要坚持 一气呵成 争取每天学一点,把这个学完. 今天主要是看了一下 设计模式中的 原则三: 依赖倒置原则(DIP) 官方是这样 ...
- [转载]如何做到 jQuery-free?
http://www.ruanyifeng.com/blog/2013/05/jquery-free.html jQuery是现在最流行的JavaScript工具库. 据统计,目前全世界57.3%的网 ...
- python核心编程笔记——Chapter5
好吧,开始第五章习题: 5-2.又是老调重谈,raw_input这个函数真是非常麻烦,返回是str类型,没办法,只能在函数里面使用int内建.(就只是一道简单的两数相乘,哭了) #!/usr/bin/ ...