Api开发利器Bottle

简介: Api开发利器Bottle

前言


前面我们介绍了很多 API 开发框架,比如FastApiHug等。今天我们继续介绍一款超轻的 web 框架 Bottle,它的使用和 FlaskHug 一样简单。


呆猫


安装 Bottle


pip install bottle
复制代码


Hello World


from bottle import route, run
@route('/hello')
def hello():
    return "Hello World!"
run(host='localhost', port=8080, debug=True)


网络异常,图片无法展示
|


网络异常,图片无法展示
|


如上我们已经实现了 hello world,但是这不是面向对象的方式,我们可以使用面向对象的方式,先实例化一个 bottle 对象,然后在这个对象上进行路由等操作。


就像这样:


from bottle import Bottle, run
app = Bottle()
@app.route('/hello')
def hello():
    return "Hello World!"
run(app, host='localhost', port=8080)
复制代码


如上两种方式都可以实现 api 的开发,你可以根据自己喜好进行选择,但是个人比较推荐面向对象的写法。


路径参数


路径参数就是 URI 中的参数,我们可以通过 URI 进行参数的传递和处理。


from bottle import Bottle, run, template
app = Bottle()
@app.route('/hello')
def hello():
    return "Hello World!"
@app.route('/sayhi/<name>')
def sayhi(name='default'):
    return f'hi,{name}'
run(app, host='localhost', port=8080)
复制代码


网络异常,图片无法展示
|


请求参数


请求参数就是在 URL 后面拼接的参数,使用?进行连接。


from bottle import Bottle, run,request
app = Bottle()
@app.route('/myinfo')
def myinfo():
    return f"我的姓名是:{request.params['name']},我的年龄是:{request.params['age']}"
run(app, host='localhost', port=8080)
复制代码


网络异常,图片无法展示
|


模板渲染


和其他 web 框架一样,bottle 的模板渲染也是将 html 内容渲染到浏览器。bottle 渲染支持 tplhtml 两种文件,你可以自由选择。


注意,bottle 是在项目根路径和./views/*两个路径下进行模板文件的扫描,通常建议将模板文件统一放到./views/下。


from bottle import Bottle, run,request,template
app = Bottle()
@app.route('/tm')
def tm(tinfo='template'):
    return template('index',tinfo=tinfo)
run(app, host='localhost', port=8080)
复制代码


网络异常,图片无法展示
|


bottle 不但支持使用 templates 方法来进行页面渲染,也支持使用 view 装饰器进行渲染。

就像这样:


from bottle import Bottle, run,request,template,view
app = Bottle()
@app.route('/tm')
@view('index')
def tm(tinfo='template-view'):
    return dict(tinfo=tinfo)
run(app, host='localhost', port=8080)
复制代码


网络异常,图片无法展示
|


我们结合请求参数看下效果:


from bottle import Bottle, run,request,template,view
app = Bottle()
from urllib import parse
@app.route('/tm')
@view('index')
def tm():
    a=request.query['gg']
    b = parse.unquote_plus(a)
    print(b)
    return dict(tinfo=request.params['gg'])
run(app, host='localhost', port=8080)
复制代码


网络异常,图片无法展示
|


自定义 404 等页面


bottle 支持 error 装饰器来拦截错误码进行统一的错误页面展示。


from bottle import Bottle, run,request,template,view
app = Bottle()
@app.error(404)
def error404(error):
    return f'Python全栈开发提醒您:啥都没找到!{error}'
run(app, host='localhost', port=8080)
复制代码


网络异常,图片无法展示
|


重定向


重定向,顾名思义就是访问 a,然后服务器向浏览器发送的重定向指令,让浏览器去访问 b


from bottle import Bottle, run,request,template,view,redirect
app = Bottle()
@app.route('/hello')
def hello():
    return "Hello World!"
@app.get('/red')
def red():
    redirect('/hello')
run(app, host='localhost', port=8080)
复制代码


网络异常,图片无法展示
|


热加载


你可能已经发现前面的操作都是需要手动进行服务器的重启的,其实 bottle 也支持开

发服务器的热加载,你只需要在 run 方法中增加 reloader=True 的配置即可。这样当你修改了代码的时候,bottle 就会自动加载了。


总结


内容有限,以上我们只演示了 bottle 的基本功能,从这些演示中我们已经发现 bottle 的使用非常简答,很多的特性一个装饰器就能搞定,感兴趣的同学可以动手试试。更多的内容请关注 bottle 的官方文档:bottlepy.org/docs

相关文章
|
9天前
|
API 数据安全/隐私保护 UED
探索鸿蒙的蓝牙A2DP与访问API:从学习到实现的开发之旅
在掌握了鸿蒙系统的开发基础后,我挑战了蓝牙功能的开发。通过Bluetooth A2DP和Access API,实现了蓝牙音频流传输、设备连接和权限管理。具体步骤包括:理解API作用、配置环境与权限、扫描并连接设备、实现音频流控制及动态切换设备。最终,我构建了一个简单的蓝牙音频播放器,具备设备扫描、连接、音频播放与停止、切换输出设备等功能。这次开发让我对蓝牙技术有了更深的理解,也为未来的复杂项目打下了坚实的基础。
97 58
探索鸿蒙的蓝牙A2DP与访问API:从学习到实现的开发之旅
|
1天前
|
存储 搜索推荐 API
拼多多根据ID取商品详情原数据API接口的开发、运用与收益
拼多多作为中国电商市场的重要参与者,通过开放平台提供了丰富的API接口,其中根据ID取商品详情原数据的API接口尤为重要。该接口允许开发者通过编程方式获取商品的详细信息,为电商数据分析、竞品分析、价格监测、商品推荐等多个领域带来了丰富的应用场景和显著的收益。
22 10
|
7天前
|
存储 API 计算机视觉
自学记录HarmonyOS Next Image API 13:图像处理与传输的开发实践
在完成数字版权管理(DRM)项目后,我决定挑战HarmonyOS Next的图像处理功能,学习Image API和SendableImage API。这两个API支持图像加载、编辑、存储及跨设备发送共享。我计划开发一个简单的图像编辑与发送工具,实现图像裁剪、缩放及跨设备共享功能。通过研究,我深刻体会到HarmonyOS的强大设计,未来这些功能可应用于照片编辑、媒体共享等场景。如果你对图像处理感兴趣,不妨一起探索更多高级特性,共同进步。
63 11
|
4天前
|
JSON API 开发者
Lazada 商品评论列表 API 接口:开发、应用与收益
Lazada作为东南亚领先的电商平台,其商品评论数据蕴含丰富信息。通过开发和利用Lazada商品评论列表API接口,企业可深入挖掘这些数据,优化产品、营销和服务,提升客户体验和市场竞争力。该API基于HTTP协议,支持GET、POST等方法,开发者需注册获取API密钥,并选择合适的编程语言(如Python)进行开发。应用场景包括竞品分析、客户反馈处理及精准营销,帮助企业提升销售业绩、降低运营成本并增强品牌声誉。
20 2
|
8天前
|
供应链 搜索推荐 API
1688榜单商品详细信息API接口的开发、应用与收益
1688作为全球知名的B2B电商平台,为企业提供丰富的商品信息和交易机会。为满足企业对数据的需求,1688开发了榜单商品详细信息API接口,帮助企业批量获取商品详情,应用于信息采集、校验、同步与数据分析等领域,提升运营效率、优化库存管理、精准推荐、制定市场策略、降低采购成本并提高客户满意度。该接口通过HTTP请求调用,支持多种应用场景,助力企业在电商领域实现可持续发展。
49 4
|
7天前
|
监控 搜索推荐 API
京东按图搜索京东商品(拍立淘)API接口的开发、应用与收益
京东通过开放商品详情API接口,尤其是按图搜索(拍立淘)API,为开发者、企业和商家提供了创新空间和数据支持。该API基于图像识别技术,允许用户上传图片搜索相似商品,提升购物体验和平台竞争力。开发流程包括注册账号、获取密钥、准备图片、调用API并解析结果。应用场景涵盖电商平台优化、竞品分析、个性化推荐等,为企业带来显著收益,如增加销售额、提高利润空间和优化用户体验。未来,随着数字化转型的深入,该API的应用前景将更加广阔。
48 1
|
15天前
|
监控 供应链 搜索推荐
阿里妈妈商品详情API接口:开发、应用与收益的深度剖析
阿里妈妈是阿里巴巴旗下的数字营销平台,其商品详情API接口为开发者提供了获取淘宝、天猫等电商平台商品详细信息的工具。本文介绍了该接口的开发流程、应用场景及带来的收益,揭示了其在电商生态中的重要地位。
78 6
|
15天前
|
供应链 搜索推荐 API
1688APP原数据API接口的开发、应用与收益(一篇文章全明白)
1688作为全球知名的B2B电商平台,通过开放的原数据API接口,为开发者提供了丰富的数据资源,涵盖商品信息、交易数据、店铺信息、物流信息和用户信息等。本文将深入探讨1688 APP原数据API接口的开发、应用及其带来的商业收益,包括提升流量、优化库存管理、增强用户体验等方面。
76 6
|
17天前
|
监控 搜索推荐 API
京东商品详情API接口的开发、应用与收益探索
在数字化和互联网高速发展的时代,京东通过开放商品详情API接口,为开发者、企业和商家提供了丰富的数据源和创新空间。本文将探讨该API接口的开发背景、流程、应用场景及带来的多重收益,包括促进生态系统建设、提升数据利用效率和推动数字化转型等。
59 3
|
22天前
|
供应链 搜索推荐 API
探索1688榜单商品详细信息API接口:开发、应用与收益
本文深入探讨了1688榜单商品详细信息API接口的开发与应用,涵盖接口概述、开发条件、调用方法及数据处理等内容。该API帮助企业高效获取1688平台商品信息,应用于商品信息采集、校验、同步与数据分析等领域,有效提升了企业的运营效率、库存管理、销售转化率及市场策略制定能力,降低了采购成本,提升了客户满意度。
38 9