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.2.tar.gz
(9.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file BunnyPy-0.3.2.tar.gz.
File metadata
- Download URL: BunnyPy-0.3.2.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bf1a72b18a40399d0a5dddfbb1dae8f96e3bb9a6a9cd96f49af0f86094e753b
|
|
| MD5 |
285c4537e6f32755c2f61834e46d52bb
|
|
| BLAKE2b-256 |
ee1448259c59429ff7c136a0bba79e8bb2646de8b9cee75fe81b8a03e8a19d0f
|
File details
Details for the file BunnyPy-0.3.2-py3-none-any.whl.
File metadata
- Download URL: BunnyPy-0.3.2-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13275fee1c086a32215ce00e999356b5212f9839a08bf4ea2c851811e7b232aa
|
|
| MD5 |
2331effe136d07394a562413d206f435
|
|
| BLAKE2b-256 |
c0de693e9c06931b2ed447e7ce334be53db91f091f37a55b5a48d6e20aa3dc25
|