微信開發python+django兩個月的成功經歷,django是個好框架!


 
 

時間:大三

上學期沒有用微信內置瀏覽器而純對話開發,坑了自己好一下。

下學期選錯bottle框架,以為輕量好,誰知開發中什么都自己來很痛苦。

選對了框架django,終於在大三最后的個把月里寫出了里程碑式的現在這個微信端,自己都感動到,作為我大三一年web開發的終結吧。

 

亮點1:自帶后台管理

亮點2:后台權限管理

亮點3:微信回復規則設置去代碼化,圖形界面。

亮點4:一平台多網店

亮點5:圖片自動縮略成200*300px大小(使用了七牛空間)

亮點6:gzip壓縮,網絡流量為原來33%左右。SAE中Gzip壓縮設置

亮點7:保存接受的所以文本消息,記錄永存!

亮點8:購買者可查看歷史訂單,購買總額等。

亮點9:后台可查看用戶下單總額,最近下單時間等等。

亮點10:商店信息,商品信息均在后台直接修改。

亮點11:平台創始人可強制商店下線。

技巧:微信規則不匹配時不能回復嗎?不是,規則包含空字符總能匹配任意文本,請看下面的微信規則截圖。

 

 

后台

選擇botlle框架,自己寫sql,便學邊用,很痛苦的換了20天作出來了微信第一版。這版其實很簡陋,但其給我的經驗很重要。演示地址:點擊入口

 

拋棄bottle,選擇django,后來證明我的選擇是對的,雖然學習坡度比較大,但是其框架本身帶來的效率和效益卻是學習框架本身的好幾倍。我喜歡它的自帶后台管理,和后台權限管理,更喜歡它的ORM,省去很多sql的事情,比如sql語句編寫,sql防注問題,sql遷移方便等等。這次用上了這三大功能,另外還巧用django的模板渲染實現微信回復功能,但這不是django特有。

 

微信已經實現了多店功能。這也是當初我為什么堅定選擇django,因為django的一project多app的架構剛好契合這個一平台多店鋪的想法。后來我學scrapy框架,發現也是一project多app,方便不少。同時說明一project多app是先進的,是趨勢之一。

 

前台

我比較喜歡后端的開發,前端的我就修改已有好的前端代碼,參考了微信公眾號“果然美”,“微果大愛”,“華農果滿堂”,“微盟”,“樂外賣”等前端設計。技術上使用html5+css3。

 

現在平台上有果色天香和澳洲紅酒兩個店鋪

                                              

 

 代碼統計

使用linux shell統計 

 

合理版 cat $(find . -name "*.py" -or -name "*.yaml" -or -name "*.rst" -or -name "sell_detail.html") | wc | sed "1i static:\nlines | words | bytes"   

純凈版 cat $(find . -path "./guosetianxiang" -prune -or -name "*.py" -or -name "*.yaml" -or -name "*.rst" -or -name "sell_detail.html") | wc | sed "1i static:\nlines | words | bytes"  

完全版 cat $(find . -name "*.py" -or -name "*.yaml" -or -name "*.rst" -or -name "*.html") | wc | sed "1i static:\nlines | words | bytes" 

 

前端展示:感謝前人成果!

                               

 

=============================后台是亮點=============================

 

后台首頁

 

 

 

微信回復規則,使用模板渲染自定義變量!

  

功能代碼:

   

 

 

微信用戶

 

 

 

 

訂單截圖

 

看到這里,你是否也認為django是個好框架呢?

 

在新浪雲上運行得還好,不算慢,請那些嫌棄django臃腫龐大,速度慢的人,不要再誤導他人,這就好像那些說python慢的人一樣,我至今沒有實踐證明出過慢在哪。

django是python作者本身都很喜歡的框架,又是那么多商用網站的框架,經得其考驗。

如果可以,當然希望你可以作出一個比django更好的框架,可是至少現在還不大可能。python的django和ruby的rails都得經過時間的考驗。我相信 django 是經得住考驗的,正如我相信python一樣。

 

 

 

附上

增加微店步驟(澳洲紅酒為例)


復制guosetianxiang 改名 aozhouwine
修改setting.py 安裝app 'aozhouwine'
訪問/syncdb-online完成數據庫同步
根app的url.py 加入兩行:
import aozhouwine

...

url(r'^aozhouwine/', include('aozhouwine.urls')),

admin管理,weixinshop應用商店表中增加一條,並增加賬戶給商店所有者A,然后授權。
A在自己的應用商店信息表中增加一條記錄,(token在此設置)。
微信開發者url: /aozhouwine/weixin/ token為之前設置的。
訪問/aozhouwine/sync_shopinfo完成商店同步。
A增加消息,回復規則表中的記錄。
A上架商品。

依然涉及少量代碼操作,以及有一點繁瑣。

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM