Lightweight Python Web Framework
Project description
BunnyPy
a Lightweight Python Web Framework
English | 中文
Installation
pip install bunnypy
Simple Usage
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()
Data Model
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'])
Template
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()
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
bunnypy-0.3.3.tar.gz
(9.2 kB
view details)
Built Distribution
File details
Details for the file bunnypy-0.3.3.tar.gz
.
File metadata
- Download URL: bunnypy-0.3.3.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 683335f3b8a024c9dcdd8a381a8e470029048c9d7d409404e7101e983bd8fb58 |
|
MD5 | a7305d364d20571822472ce263a07a56 |
|
BLAKE2b-256 | cf6032e6a66de57c064c69ea620043006c1dd0198f90be5f0c4194ef22f2cdfb |
File details
Details for the file BunnyPy-0.3.3-py3-none-any.whl
.
File metadata
- Download URL: BunnyPy-0.3.3-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf753f73746a8a8a59cd64efed1b4c4017b601d4efe392ed1b29659f6b22a895 |
|
MD5 | 0212726067035fb0adb2e108b7097eea |
|
BLAKE2b-256 | b91ab8add8848b154ee5e8786701ed370b5e391e66e1f8ed1150de1392bed1a8 |