a Lightweight Python Web Framework
English | 中文
pip install bunnypy
a HelloWord Application
from bunnypy import Bunny
app = Bunny()
@app.controller
class IndexController:
def ac_index(self):
return 'Hello Bunny'
if __name__ == '__main__':
app.run()
from bunnypy import Bunny
import sqlite3
# ------------------------------------------------------------
# Config database using SQLite3
db = Bunny.SQLiteDatabase(sqlite3.connect('test.db'), 'tp_')
app = Bunny(database=db)
# ------------------------------------------------------------
# Declare a Model Class
@app.data
class Message:
__pk__ = ['id']
__ai__ = 'id'
id = 'integer not null'
msg = 'text not null'
def __init__(self, msg=None):
self.msg = msg
# ------------------------------------------------------------
# Create a table
Message.create() # create a table named "tp_message"
# ------------------------------------------------------------
# Insert Data
Message(msg="New Message").insert() # add a new row into table "tp_message"
# ------------------------------------------------------------
# Chained-call style query
# get one row where msg equals "Test"
Message.where(" msg = ? ",["Test"]).get(['id','msg'])
# get 10 rows of data starting at position 0 and sort by id in reverse order
size = 10
start = 0
Message.where().order(' id desc ').limit(size,start).get_all(['id','msg'])
temp.html
in template
dir
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Template</title>
</head>
<body>
Output: {{ msg }}
</body>
</html>
Python code
from bunnypy import Bunny
app = Bunny()
@app.controller
class IndexController:
def ac_index(self):
return app.render('temp.html',{"msg":"Hello World"})
if __name__ == '__main__':
app.run()