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