1.6 PLUGINS(插件)
2016-01-11 14:07
363 查看
在 0.9 版本中添加。
Bottle的核心细节涵盖大多数的应用需求,但是作为一个小型框架,它依然有所欠缺。这就是插件排上用场的时候了。插件加入了框架缺少的功能,整合第三方库,或者只是自动化一些重复性工作。
我们有一个可用的插件的列表。你的问题可能早被某个插件解决了。如果没有,插件开发手册也许会帮到你。
插件的效果和API是多种多样的并且取决于特定的环境。例如SQLitePlugin插件的回调函数要求一个db关键字参数并创建一个新的数据库连接当回调函数被调用的时候。这使得数据库操作非常方便:
from bottle import route, install, template
from bottle_sqlite import SQLitePlugin
install(SQLitePlugin(dbfile='/tmp/test.db'))
@route('/show/<post_id:int>')
def show(db, post_id):
c = db.execute('SELECT title, content FROM posts WHERE id = ?', (post_id,))
row = c.fetchone()
return template('show_post', title=row['title'], text=row['content'])
@route('/contact')
def contact_page():
''' This callback does not need a db connection. Because the 'db'
keyword argument is missing, the sqlite plugin ignores this callback
completely. '''
return template('contact')
其它的插件也许在线程安全的对象里,改变请求对象的细节,过滤回调函数返回的数据。一个可信的插件可以检查环境的问题并返回登录页面而不是调用原始的回调函数。确切发生了什么取决于插件。
Bottle的核心细节涵盖大多数的应用需求,但是作为一个小型框架,它依然有所欠缺。这就是插件排上用场的时候了。插件加入了框架缺少的功能,整合第三方库,或者只是自动化一些重复性工作。
我们有一个可用的插件的列表。你的问题可能早被某个插件解决了。如果没有,插件开发手册也许会帮到你。
插件的效果和API是多种多样的并且取决于特定的环境。例如SQLitePlugin插件的回调函数要求一个db关键字参数并创建一个新的数据库连接当回调函数被调用的时候。这使得数据库操作非常方便:
from bottle import route, install, template
from bottle_sqlite import SQLitePlugin
install(SQLitePlugin(dbfile='/tmp/test.db'))
@route('/show/<post_id:int>')
def show(db, post_id):
c = db.execute('SELECT title, content FROM posts WHERE id = ?', (post_id,))
row = c.fetchone()
return template('show_post', title=row['title'], text=row['content'])
@route('/contact')
def contact_page():
''' This callback does not need a db connection. Because the 'db'
keyword argument is missing, the sqlite plugin ignores this callback
completely. '''
return template('contact')
其它的插件也许在线程安全的对象里,改变请求对象的细节,过滤回调函数返回的数据。一个可信的插件可以检查环境的问题并返回登录页面而不是调用原始的回调函数。确切发生了什么取决于插件。
相关文章推荐
- java自动生成验证码插件-kaptcha
- jQuery菜单插件用法实例
- 加载flash9.ocx出现错误的解决方法
- jquery实现的代替传统checkbox样式插件
- 10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
- 推荐40个非常优秀的jQuery插件和教程【系列三】
- Node.js插件的正确编写方式
- 推荐十款免费 WordPress 插件
- 使用JavaScript开发IE浏览器本地插件实例
- jQuery实现的简单提示信息插件
- 推荐25个超炫的jQuery网格插件
- 纯JavaScript实现的分页插件实例
- JQuery插件jcarousellite的参数中文说明
- jQuery插件kinMaxShow扩展效果用法实例
- jQuery插件制作之全局函数用法实例
- 精心收集的jQuery常用的插件1000
- 40款非常棒的jQuery 插件和制作教程(系列二)
- 40款非常有用的 jQuery 插件推荐(系列一)
- FullCalendar日历插件应用之数据展现(一)
- 制作高质量的JQuery Plugin 插件的方法