因為本人之前學的python恐锦,打算自己做網(wǎng)站的時候因為考慮到結(jié)合爬蟲和微信小程序,后端統(tǒng)一可能會比較好磷雇,所以沒有考慮php/java毛好。但是python的網(wǎng)站搭建資源真的少望艺,本人又不是專業(yè)技術(shù)出身,三腳貓水準只能從已有框架上進行最簡單的二開肌访。
在github上找到了一個優(yōu)秀的基于django的二開框架:coderedcms找默。
該CMS在國內(nèi)的資料比較少。默認是英文吼驶〕图ぃ基于django2.0 wagtil CMS,更新比較頻繁蟹演,可以通過修改setting中的LANGUACE_CODE實現(xiàn)部分漢化风钻。最大的特性是可以實現(xiàn)自由度比較高的可視化前端頁面布置【魄耄基于Bootstrap的前端提供了很高的可玩性骡技,很符合一部分新手希望能可視化操作,而無需編寫代碼即可生成前端頁面的愿望羞反。
安裝也非常容易布朦。購買完ECS后,下載anaconda3昼窗,然后pip install? -r requirement.txt后是趴,可以跟普通django框架一樣runserver了。這是我在github上找到的不多的能直接跑起來的框架之一(除去docker的)膏秫∮以猓可見其代碼十分穩(wěn)健做盅。但是在使用過程中缤削,發(fā)現(xiàn)的問題是:
1.通過直接操作數(shù)據(jù)庫窘哈,無法進行條目的增刪,否則會報錯亭敢。即如果通過后臺生成了一個頁面滚婉,如果直接在數(shù)據(jù)庫進行刪除或再復制一個頁面出來,會導致后臺無法打開帅刀∪酶梗可能是其后端檢索缺少try--except導致的,但是我用爬蟲爬取的數(shù)據(jù)一定是在后端直接生成條目扣溺,故這重要的一點(也是因為懶得重寫models)特別嚴重骇窍。
2.對于新手來說,缺少很多本地化需要的組件锥余。比如國內(nèi)的社交媒體支持腹纳,或者符合國人使用習慣的頁面元素等。雖然這些都可以通過既有的(拆其他django框架里的)代碼完成驱犹。但這就跟我(因為犯懶才)用這個框架的初衷相悖了嘲恍。
3.最難的一點來了:對于新手來說,你要想調(diào)樣式雄驹,需要在/static/css/custom.css自己寫css然后再用佃牛,這個對技術(shù)小白來說學習曲線忒長了(為此我單獨看了好久的bootstrap,并且的確覺得真是個好東西医舆。但我特么不是技術(shù)啊俘侠,我不想自己調(diào)前端框架啊)蔬将。而且兼贡,安裝框架默認是不安裝bootstrap的,你還需要自己去安裝bootstrap才能實現(xiàn)很多好看的響應式樣式娃胆,也是挺累的遍希。
所以綜上所述,在折騰了一段時間后里烦,決定換框架凿蒜。于是又找啊找的,找到了一個國產(chǎn)的優(yōu)秀框架:osroom胁黑。
這是基于flask+mongodb+redis的框架废封。正好我的爬蟲也是用mongodb儲存而且最近也對NoSql感興趣,于是想研究一下丧蘸。但是從安裝開始漂洋,就出現(xiàn)一路問題。以下是我的個人心得:
1.一定要按照osroom的指導文檔一步步安裝!尤其是新手刽漂!否則你不會知道哪里出了問題演训!
2.經(jīng)常會出現(xiàn)安裝時候GCC編譯錯誤。我嘗試過按照網(wǎng)上的辦法贝咙,試過centos/ubuntu不同系統(tǒng)切換样悟,GCC編譯版本從5.0切到4.7。但都不管用庭猩,尤其是再cffi安裝的時候窟她,經(jīng)常是報錯的。后落在晚上搜了半天蔼水,忽然想到可能是python版本的問題(我用的anaconda 源碼安裝板)震糖。于是:
rm -rf /root/anaconda3/
yum install python36
ln?/usr/bin/python3.6?/usr/bin/python3
然后get-pip,再pip安裝之前用的所有庫(好麻煩E恳浮)
然后吊说,果然成功了!于样!重新安裝python之后疏叨,再python start.py runserver -h x.x.x.x(訪問域名,可以填0.0.0.0)就可以看到該網(wǎng)站了穿剖!在之前雖然能跑起來蚤蔓,但是服務器經(jīng)常拋出405錯誤的難題也解決了!(到最后我也不知道是哪里的問題糊余,還有ImportError: libssl.so.10: cannot open shared object file: No such file or directory這類的問題秀又。所以只能理解為需要yum安裝的python能更好的服務于框架)
用osroom還有個好處”峤妫基于flask的網(wǎng)站吐辙,基本很多都是為了做api服務的。所以其后端數(shù)據(jù)對于做小程序或公眾號開發(fā)是很方便的蘸劈。
以上昏苏。