支持多种数据库的异步操作
项目描述
Muffin-Databases – 为 Muffin 框架提供多种数据库的异步支持
需求
python >= 3.9
安装
Muffin-Databases 应使用pip安装
$ pip install muffin-databases
可选地,您可以使用以下命令安装所需的数据库驱动程序
$ pip install muffin-databases[sqlite] $ pip install muffin-databases[postgres] $ pip install muffin-databases[mysql]
用法
设置插件并将其连接到您的应用程序
from muffin import Application
from muffin_databases import Plugin as DB
# Create Muffin Application
app = Application('example')
# Initialize the plugin
# As alternative: db = DB(app, **options)
db = DB(url='sqlite:///db.sqlite')
db.setup(app)
就是这样,现在您可以在视图中使用此插件了
@app.route('/items', methods=['GET'])
async def get_items(request):
"""Return a JSON with items from database."""
rows = await db.fetch_all('SELECT * from items')
return [dict(row.items()) for row in rows]
@app.route('/items', methods=['POST'])
async def insert_item(request):
"""Store an item into database."""
data = await request.data() # parse formdata/json from the request
await db.execute_many('INSERT INTO items (name, value) VALUES (:name, :value)', values=data)
return 'OK'
Muffin-Databases插件基于databases。有关更多参考资料,请参阅databases的文档。
选项
名称 |
默认值 |
描述 |
url |
"sqlite:///db.sqlite" |
数据库连接URL |
params |
{} |
数据库连接参数 |
您可以在初始化插件时提供选项
db.setup(app, url='postgresql://localhost/example', params={'ssl': True, 'min_size': 5, 'max_size': 20})
或者从 Muffin.Application 配置中设置,使用 DATABASES_ 前缀
DATABASES_URL = 'postgresql://localhost/example'
Muffin.Application 配置选项不区分大小写
错误跟踪器
如果您有任何建议、错误报告或烦恼,请向 https://github.com/klen/muffin-databases/issues 的问题跟踪器报告
贡献
Muffin-Databases 的开发地址: https://github.com/klen/muffin-databases
贡献者
klen (Kirill Klenov)
许可证
许可协议: MIT 协议。
项目详情
关闭
muffin_databases-0.6.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dca0e4651300e0b9326d693b4188fab8e3b6b748d1fb59774f128a24bbf21b6a |
|
MD5 | 2801447c40fbf4197c036ee053340509 |
|
BLAKE2b-256 | 800bb9d1491014a310e40d89e45b357a25c4fc78c96a80b88d8d939fbe4a62b5 |
关闭
muffin_databases-0.6.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 45b104182699823676d7ad63802d72194e6ae8c2635335171673bbd9d78dad61 |
|
MD5 | da2296da6e963471df97fbc66d9cee78 |
|
BLAKE2b-256 | dc0030d6bd9805535675491e4d0d8cce7fa079ba73dcd720187d072f051c8c32 |