Skip to main content

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)

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
bottle-web2pydal-0.0.1.tar.gz (124.4 kB) Copy SHA256 hash SHA256 Source None Oct 13, 2011

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page