我一直在python中做一些工作,但那都是針對獨立應用程序的。我很想知道python的任何分支是否支持web開發?使用python開發web應用程序
會有人還建議一個很好的教程或網站,我可以從哪裏拿起一些使用python的web開發的基礎知識?
我一直在python中做一些工作,但那都是針對獨立應用程序的。我很想知道python的任何分支是否支持web開發?使用python開發web應用程序
會有人還建議一個很好的教程或網站,我可以從哪裏拿起一些使用python的web開發的基礎知識?
現在大家都說了Django,我可以補充我的兩分錢:我會爭辯說,在使用Django之前,您可能會首先查看不同的組件。對於Web開發與Python,你經常要3個組成部分:
一些需要照顧的HTTP東西 (例如 CherryPy)
如果您從 數據庫獲取數據,則ORM會派上用場。 SQLAlchemy 將是一個example。
以上所有鏈接都有很好的教程。對於許多現實世界的用例,Django將比這樣的堆棧成爲更好的解決方案,因爲它無縫地集成了這個功能(以及更多)。如果你需要一個CMS,Django是Zope最好的選擇。儘管如此,爲了更好地掌握正在發生的事情,一堆鬆散耦合的程序可能會更好。 Django隱藏了很多細節。
查找Django。
Python可以用於Web開發,但是沒有特殊的語言擴展或任何可以處理所有HTML代碼或像PHP一樣工作的語言。
它幾乎貫穿於Web服務器(CGI,mod_python等)上的某種解釋器。
我建議您調查Python Web Application Frameworks或如何編寫Python CGI scripts。
Python Wiki: Web Frameworks for Python
如果你決定使用Django,the official tutorial是一個很好的開端。 The Django Book也是免費的。
這裏有quite a few python框架,但我唯一使用的是Django,我非常喜歡它。
如果你有幾個小時,做tutorial,我答應你,你會喜歡它:)
在3年後編輯:不要使用mod_python的,使用mod_wsgi的。 Flask和Werkzeug也是很好的框架。需要知道發生了什麼是有用的,但這不是必需的。那會很愚蠢。
直到你對Django代表你做的事情有一個很好的把握之前,不要查找Django。爲你。使用mod_python和它的請求對象編寫一些基本的應用程序。我剛剛開始學習使用mod_python進行網絡開發的Python,這非常棒。
mod_python還在site-packages/mod_python/publisher.py中使用調度程序。通過這個來看看如何以簡單的方式處理請求。
你可能需要在你的Apache配置文件中添加一些配置來啓動並運行mod_python,但mod_python網站對它進行了很好的解釋。
<Directory /path/to/python/files>
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>
而你不在!
使用(如一個愚蠢基本例子):
def foo(req):
req.write("Hello World")
在/path/to/python/files/bar.py
假設/path/to
是你的站點根目錄。
然後你就可以做
http://www.mysite.com/python/files/bar/foo
看到的 「Hello World」。此外,一些我絆倒了是調度器採用了一個跛腳的方法來制定出內容類型,如此給力HTML使用:
req.content_type = 'text/html'
好運
之後,你有一個好關於Python如何與mod_python和Apache進行交互的想法,然後使用一個框架爲你做所有無聊的事情。儘管如此,只是我的推薦
正如其他人所說,其中一個更突出的蟒蛇「分支」,你稱他們將是Django。這是一個相當強大的框架,可以讓您快速安全地構建Web應用程序。首先看看their overview,它提供了一些有關Django作爲框架的信息。
通過their tutorial去了解了很多關於着名的Model-View-Controler設計模式以及它如何用於web開發環境的知識。我發現這是一個很好的方式,可以開始編寫一個可以改進它的工作和學習的應用程序。
如果你真的不想深入研究框架 - 而且你應該,我衷心推薦Django或Pylons,那麼仍然需要走上CGI的道路。這是一個完全過時的技術,更不用說慢速和低效了。
There is這是一種構建Python Web應用程序的標準方式,它被稱爲WSGI。如果你想從頭開始自己的網絡應用程序,這是絕對要走的路。
這就是說,如果你剛剛開始,你真的應該去一個框架。
Web開發有幾種選擇。根據我的經驗,您的選擇將再次取決於您的應用程序。我在製作中使用了django和web.py,我即將部署基於pylons的應用。
Django隱藏了很多選擇(自帶ORM和模板)。該文件是廣泛的,寫得很好。 django有許多可重複使用的應用程序,但您可能會投入一點時間來無縫集成它們。有一件事mentioned on djangocon 08是事實,在django中有很酷的東西,在非django項目中不能輕鬆地訪問 。
web.py它的原始樸素給我留下了深刻的印象。在我知道之前,我寫了一個小應用程序(78 lines quasi-wiki)。
pylons感覺就像在兩者中間。我可以使用sqlalchemy和jinja,總而言之,這是一個愉快的經歷。
如果我聽到DJango或TurboGears或其他什麼的話......我會......做一些瘋狂的事情? – 2009-05-21 22:26:41
@Aiden ...然後我建議遠離python web應用程序的任何討論,因爲*不*談論web開發中的主要框架是「一些瘋狂的東西」。 – 2009-05-22 13:23:54
@Aaron,評論很幽默。如果你想要的話,我有一些空餘的。 – 2009-05-22 17:48:19