Python Web Framework——Bottle

來源:互聯網
上載者:User

  看到一個介紹Bottle的文章,覺得很有意思,所以到處搜羅了一些有意思的東西,總結如下。

  在淺談五大Python Web架構(http://www.cnblogs.com/babykick/archive/2011/11/28/2265920.html)中介紹了幾種Python的Web架構,然後又看了一下Web架構比拼測評(http://www.cichui.com/the-great-web-framework-shootout/),覺得Bottle和Flask很有意思,所以想瞭解一下。

  從下面的範例程式碼看看,你會喜歡哪一種呢?

web.py

import web      urls = (    '/(.*)', 'hello')app = web.application(urls, globals())class hello:            def GET(self, name):        if not name:             name = 'World'        return 'Hello, ' + name + '!'if __name__ == "__main__":    app.run()

Flask,

from flask import Flaskapp = Flask(__name__)@app.route("/")def hello():    return "Hello World!"if __name__ == "__main__":    app.run()

Bottle,

from bottle import route, run@route('/:name')def index(name='World'):    return '<b>Hello %s!</b>' % namerun(host='localhost', port=8080)

  所以我就選了Bottle了,其他的Django這種大的架構沒有考慮在內,其他語言的也沒有考慮在內。

 

  順便也瞭解了一下Web Framework和MVC到底是什麼東西。

  Web FrameWork 和 MVC
  現在Web開發有各種技術,各種語言,各種架構。所謂架構,我的理解,就是一個通用的架構,這個架構把重複的工作,或者不變的工作解決,讓開發人員集中在其他方面。現在好像說到Web架構,就會說到MVC。
  (MVC詳解:瞭解真正所謂的"架構" http://cjwxd126715.iteye.com/blog/349678)
  MVC,Model-View-Control,因為Web上的應用越來越複雜,會有各種資料,會有各種頁面顯示,在最開始,用HTML寫頁面顯示,涉及到互動資料,改變頁面顯示之類的時候,有Javacript或者Java代碼等,嵌入到HTML中,後台也會有各種代碼,處理資料,控制頁面顯示,這使得Web程式結構混亂。於是就希望使得Web開發更有邏輯,結構更清楚,有了MVC。資料,用Model來儲存,View只控制與顯示相關,Control,具體的處理資料。MVC中關於View的原意,“View裡面只應該存在和顯示有關的邏輯,而不應該存在任何其它的邏輯——比如訪問資料庫,調用商務邏輯之類”。
所有的MVC架構中,View部分做到了“只和顯示邏輯相關” 嗎?View能夠脫離資料部分單獨存在嗎?不管是用JSP,Velocity,還是用TagLib,View都必須知道自己所使用的Object的資料結構,必須訪問這些Object的各種屬性,才能把它們顯示出來。這個View和Model分開了嗎?能分開嗎?(MVC的迷思 http://www.iteye.com/topic/6284)

  (IoVC,一種新的編程思想 http://www.iteye.com/topic/176066)
  IoVC希望通過美工設計在View裡面給每個組件設定一個ID,然後程式員在後台邏輯業務中可以通過ID對view中頁面元素有完全的控制力。Web頁面在美工完成之後,程式員再也無需因為需求的變更或者邏輯的變化,而再重新維護 Web頁面內容。這個也很有意思的。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.