forked from coderbuzz/bottle-peewee
-
Notifications
You must be signed in to change notification settings - Fork 2
oz123/bottle-peewee
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
=====================
Bottle-Peewee
=====================
This plugin simplifies the use of Peewee ORM in your Bottle applications.
Once installed, all you have to do is to add a ``db`` keyword argument
(configurable) to route callbacks that need a database connection.
Installation
===============
Install with one of the following commands::
$ pip install bottle-peewee
$ easy_install bottle-peewee
or download the latest version from github::
$ git clone git://github.com/bottlepy/bottle-extras.git
$ cd bottle-extras/peewee
$ python setup.py install
Usage
===============
Once installed to an application, the plugin passes an open
Peewee Database instance to all routes that require a ``db`` keyword
argument::
import bottle
import peewee
from peewee import *
from bottle_peewee import Database, Plugin
app = bottle.Bottle()
db = Database('db/sample.db', 'peewee.SqliteDatabase', autocommit=False)
class BaseModel(Model):
class Meta:
database = db.database
class User(BaseModel):
name = CharField()
User.create_table(fail_silently=True)
User.create(name='A')
User.create(name='B')
User.create(name='C')
plugin = Plugin(db)
app.install(plugin)
@app.route('/')
def index(db):
users = User.select()
result = "".join(["<li>%s</li>" % user.name for user in users])
return "Here is:<br><ul>%s</ul>" % result
if __name__ == '__main__':
bottle.debug(True)
bottle.run(app, reloader=True)
Routes that do not expect a ``db`` keyword argument are not affected.
About
Bottle-Peewee
Topics
Resources
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Python 100.0%