Python Bottle框架实现Hello World及Session配置详解

Evan
Evan
发布时间:2026-10-13| 2人浏览过
原创

本文详细解析使用Python Bottle框架快速搭建Web应用的过程。从安装依赖包bottle和beaker开始,逐步讲解如何配置Session中间件、定义路由以及启动WSGI服务。通过具体的代码示例和运行步骤,帮助开发者理解如何在本机9090端口成功运行第一个Web应用并输出Hello World。

首先,新建一个名为main.py的文件,并将后续提供的代码粘贴其中。

在开发环境中右键点击Debug 'main'进行调试运行后,若下方的Debug窗口提示ImportError: No module named 'bottle',则表明系统缺少bottle模块,导致导入失败。

因此,必须先安装所需的两个依赖包。在命令行(cmd)中输入pip install bottle并回车以开始安装bottle包;若在使用Mac系统时遇到权限不足的问题,需在命令前加上sudo。

#!/usr/bin/python
# coding=utf-8
from bottle import default_app, get, run
from beaker.middleware import SessionMiddleware
# 设置session参数
session_opts = {
 'session.type': 'file',
 'session.cookie_expires': 3600,
 'session.data_dir': '/tmp/sessions/simple',
 'session.auto': True
}
@get('/index/')
def callback():
 return 'Hello World!'

# 函数主入口
if __name__ == '__main__':
 app_argv = SessionMiddleware(default_app(), session_opts)
 run(app=app_argv, host='0.0.0.0', port=9090, debug=True, reloader=True)

安装完成后,打开浏览器并在地址栏输入http://127.0.0.1:9090/index/,按下回车键,即可在页面上看到Hello World的显示结果。

代码详解

#!/usr/bin/python

该行用于指定当前脚本由Python解释器执行。其目的是防止用户未将Python安装在默认的/usr/bin路径下,系统在执行时会首先通过env环境变量查找Python的实际安装路径,并调用对应路径下的Python程序来运行脚本。

# coding=utf-8

此行声明当前文件采用utf-8编码格式,确保中文字符等内容的正确显示。

代码的第4行与第5行负责导入bottle包和beaker包的指定模块,为后续功能提供基础支持。

由于bottle框架本身未内置Session支持,此处引入beaker中间件来实现Session功能。

第7行至第13行定义了session配置的字典,用于存储Session参数。配置内容指定Session存储类型为文件类型,过期时间为3600秒,且Session文件存放路径为/tmp/sessions/simple。该路径位于Linux系统的tmp目录下,系统会定期自动清理其中的文件。

第15行至第17行定义了一个/index/路由,用于浏览器访问时的定位。当用户在浏览器地址栏输入对应URL时,系统将通过此路由找到处理逻辑(此处可自定义为任意路由)。访问方式定义为get方法,此外还支持post、put、delete等其他HTTP方法。

第20行标识当前为程序的主入口,程序运行时将从此处开始执行。

第21行用于初始化Session参数,确保Session功能正常工作。

第22行启动WSGI WEB程序,监听地址为本机地址,访问端口设置为9090。同时开启debug模式,并设置reloader参数,使得当项目代码发生修改时,Web服务能够自动重新启动并重新载入修改后的代码。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。