Web2py Dal integration for Bottle.
Project description
Bottle-DAL is a plugin that integrates Web2py DAL Database Abstraction Layer
with your Bottle application. It automatically connects to a database at the
beginning of a request, passes the database handle to the route callback and
closes the connection afterwards.
To automatically detect routes that need a database connection, the plugin
searches for route callbacks that require a `db` keyword argument
(configurable) and skips routes that do not. This removes any overhead for
routes that don't need a database connection.
Usage Example::
from bottle import route, view, run, debug, install
from bottle_dal import DALPlugin, Field
def define_tables(db):
"""My tables definitions here"""
db.define_table('person',Field('name','string'))
install(DALPlugin('sqlite://storage.sqlite',
define_tables = lambda db: define_tables(db)))
@route('/')
def index(db):
""" Index Example """
if db(db.person.id>0).count()==0:
db.person.insert(name='James')
db.person.insert(name='Michael')
db.person.insert(name='Steve')
db.person.insert(name='Robert')
db.commit()
persons = db(db.person.id>0).select()
return dict(persons=persons.json())
if __name__ == '__main__':
debug(True)
run(host='localhost', port=8080)
with your Bottle application. It automatically connects to a database at the
beginning of a request, passes the database handle to the route callback and
closes the connection afterwards.
To automatically detect routes that need a database connection, the plugin
searches for route callbacks that require a `db` keyword argument
(configurable) and skips routes that do not. This removes any overhead for
routes that don't need a database connection.
Usage Example::
from bottle import route, view, run, debug, install
from bottle_dal import DALPlugin, Field
def define_tables(db):
"""My tables definitions here"""
db.define_table('person',Field('name','string'))
install(DALPlugin('sqlite://storage.sqlite',
define_tables = lambda db: define_tables(db)))
@route('/')
def index(db):
""" Index Example """
if db(db.person.id>0).count()==0:
db.person.insert(name='James')
db.person.insert(name='Michael')
db.person.insert(name='Steve')
db.person.insert(name='Robert')
db.commit()
persons = db(db.person.id>0).select()
return dict(persons=persons.json())
if __name__ == '__main__':
debug(True)
run(host='localhost', port=8080)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bottle-web2pydal-0.0.1.tar.gz
(124.4 kB
view hashes)