コードのテスト

いきなりだけど、PyramidでMongodb接続するときはこんな感じ。

__init__.py

def main(global_config, **settings):

    #MongoDB Connect
    conn = Connection('localhost', 27017)
    config.registry.settings['db_conn'] = conn

    def add_mongo_db(event):
        #接続情報格納
        settings = event.request.registry.settings
        db = settings['db_conn'][DB_NAME]
        event.request.db = db

    config.add_subscriber(add_mongo_db, NewRequest)

使うのはこう

views.py

@view_config(route_name='dashboard',
             renderer="myapp:templates/dashboard.pt")
def dashboard(request):
    vendors = request.db['vendors'].find()

だいぶ楽。

参考:
http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/database/mongodb.html

Eclipseから実行させたいとき

Scaffoldsでガワだけつくった後
__init__.pyに__main__をつけてやればおk

if __name__ == '__main__':
    #Localでの実行環境用
    from wsgiref.simple_server import make_server
    #Server Start
    app = main({})
    server = make_server('0.0.0.0', 8080, app)
    server.serve_forever()

もちろんpserveでini読ませても実行可能。楽ちん