2011-04-01 58 views
1

我是網絡開發新手。經過很多考慮,我選擇了Python而不是Ruby,因爲代碼的可讀性對我很重要。我查看了一些Python的cgi代碼,我想知道是否有可能以這樣的方式擦亮代碼,以便我可以專注於程序功能,而不必在Python源代碼中嵌入(混亂)所有HTML格式代碼,即將實際的Python代碼與HTML代碼分開。也許這種編程風格將CGI的領域變成了其他東西? (即CGI =生成網頁的腳本)。源代碼中沒有HTML混亂的Python CGI?

+0

謝謝大家!經過多次閱讀,我決定將我老派的CGI方式轉換爲成熟的全棧框架:web2py。來自Apple的XCode MVC思維方式,web2py將被證明是非常易於部署的! – 2011-04-03 02:07:59

回答

4

選擇一個template engine。它仍然是CGI,它恰好是使用模板引擎的CGI; CGI是界面,而不是編程方法。

+0

感謝您打開一個全新的選擇!對於簡單的HTML頁面生成,你會建議哪個包?感謝您澄清CGI的含義。 – 2011-04-01 18:03:10

+0

我是Genshi的粉絲,但也有那些暗示Mako或Jinja2的人。 – 2011-04-01 18:37:34

1

可以拋光該代碼中,這樣我可以專注於程序的功能,而不必具有所有嵌入(塞滿)在Python源

使用templating engine

的HTML格式化代碼的方式

也許這種編程風格將CGI領域變成了別的東西?

CGI不是一種編程風格。這是Web服務器執行程序以確定向用戶提供什麼數據的手段。 (這是一種緩慢而低效的方法,但它也是一個非常簡單的方法)。

如果你想從CGI離開,並保持與Python,那麼你或許應該放眼wsgi

+0

將看模板引擎。你能建議嗎?我也很好奇爲什麼CGI速度慢,效率低。什麼會更快? HTML代必須更快?感謝wsgi的建議,我會看看。 – 2011-04-01 18:04:05

+0

我無法提出建議,我的Python體驗相當有限。 CGI的性能問題是由於它不得不爲每個請求產生整個Python(或任何你使用的)過程,這就需要啓動成本。 – Quentin 2011-04-01 18:05:17

+0

這可以通過向Apache添加mod_python來消除,但是你是對的,CGI最簡單的形式是原始的和昂貴的。 – 2011-04-01 18:22:54

0

Python中的新Web應用程序代碼不是使用CGI編寫的,它基於WSGI。將你的HTML代與其他程序邏輯分開確實是一件好事,應該使用模板引擎來完成。 Python也有編寫Web應用程序的幾個框架;如果你剛剛開始,我推薦Flask

+0

Flask優於Django的任何具體原因? – 2011-04-01 18:05:33

+0

如果你想構建它擅長的CMS風格的東西,Django可能是一個不錯的選擇。 Flask是一個更小,更靈活的庫,只需很少的工作即可開始使用。 – Allen 2011-04-01 20:16:27