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

相关文章
|
8月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
9月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
11月前
|
数据采集 测试技术 API
小白必看!电商 API 开发避坑指南:签名错误、权限申请全解决
本文总结电商API开发常见问题与解决方案,涵盖京东、淘宝、拼多多的签名规则、权限申请、频率限制等核心踩坑点,结合实战案例,助你高效避坑,提升开发效率90%。
|
9月前
|
人工智能 自然语言处理 机器人
使用 API 编程开发扣子应用
扣子(Coze)应用支持通过 API 编程,将 AI 聊天、内容生成、工作流自动化等功能集成至自有系统。主要 API 包括 Bot API(用于消息交互与会话管理)及插件与知识库 API(扩展功能与数据管理)。开发流程包括创建应用、获取密钥、调用 API 并处理响应,支持 Python 等语言。建议加强错误处理、密钥安全与会话管理,提升集成灵活性与应用扩展性。
2801 0
|
11月前
|
人工智能 自然语言处理 测试技术
Apipost 与 Apifox 深度对比:谁是 API 开发的最佳拍档?
在 API 开发中,Apipost 与 Apifox 是两款流行的国产工具。本文通过实际项目的对比发现,Apipost 在 AI 功能方面表现突出,如 AI 自动生成文档、测试用例、脚本等,显著提升开发效率。基础功能上,Apipost 也更全面,支持离线使用、OpenAPI 格式导出、多种协议及数据库字典导入,界面简洁易用,综合性能优于 Apifox。
537 5
|
11月前
|
存储 监控 API
零基础 3 天搞定京东 / 淘宝 API 开发,从注册到调通接口全流程拆解
本文详解京东/淘宝API开发入门,涵盖账号注册、应用创建、签名生成及实战项目,助零基础开发者3天掌握电商API调用,实现商品数据获取与价格监控。
|
10月前
|
前端开发 Java API
利用 Spring WebFlux 技术打造高效非阻塞 API 的完整开发方案与实践技巧
本文介绍了如何使用Spring WebFlux构建高效、可扩展的非阻塞API,涵盖响应式编程核心概念、技术方案设计及具体实现示例,适用于高并发场景下的API开发。
709 0
|
10月前
|
存储 监控 算法
淘宝买家秀 API开发实录Python(2025)
本文讲述了作者在电商开发领域,尤其是对接淘宝买家秀 API 接口过程中所经历的挑战与收获。从申请接入、签名验证、频率限制到数据处理和实时监控,作者分享了多个实战经验与代码示例,帮助开发者更高效地获取和处理买家秀数据,提升开发效率。
|
11月前
|
数据采集 缓存 监控
唯品会 API 开发痛点解析:从权限申请到数据清洗的实战经验
本文深入解析唯品会开放平台(VOP)API开发全流程,涵盖权限申请、签名机制、数据清洗、性能优化等核心挑战与实战解决方案,助力开发者高效构建稳定可靠的电商数据整合系统。
|
8月前
|
API 开发者 数据采集
高效获取淘宝商品详情:API 开发实现链接解析的完整技术方案
2025反向海淘新机遇:依托代购系统,聚焦小众垂直品类,结合Pandabay数据选品,降本增效。系统实现智能翻译、支付风控、物流优化,助力中式养生茶等品类利润翻倍,新手也能快速入局全球市场。
高效获取淘宝商品详情:API 开发实现链接解析的完整技术方案