在 Pylons 中使用 MongoDB 的例子

發表於2016-01-10
Pylons 經過漫長的開發,終於放出了 1.0 版本。對於正規的產品開發來說,1.0 版本的意義很大,這表明 Pylons 的 API 終於穩定下來了。 

Pylons 雖是山寨 Rails 而生,但作為一個純 Python 的 Web 框架,它有一個鮮明的特點:可定製性強。框架每一層都沒重新發明輪子,而是儘量整合現有的 Python 庫。在 MVC 的 Model 層,Pylons 預設支援 SQLAlchemy。現在 NoSQL 很火 MongoDB 很熱。在 Pylons 中應用 MongoDB 也很簡單。下面是一個簡單的示例。

PROJECT/model/__init__.py 中定義 MongoDB 初始化函式和對映物件:

PROJECT/config/environment.py 中進行初始化:

最後在 development.ini 中加入 MongoDB 的配置項:

如果需要在程式安裝時初始化一些資料, 可以在 PROJECT/websetup.py 中加入

這裡使用了 Ming 庫來連線 MongoDB 並做簡單的 ORM。Ming 庫是對 PyMongo 的 ORM 包裝庫。它是 SourceForge 用 TurboGears 和 MongoDB 對網站進行重構的副產物。使用起來有點象 SQLAlchemy ORM 。在上面的示例中,也可以把 Ming 替換成 MongoKit 或其它 MongoDB 的 ORM 庫,甚至直接用 PyMongo 也無不可。

有種感覺,MongoDB 會火。

相關文章