CherryPy 是一个用于构建 Web 应用的微框架。它通过简洁的 API 和强大的功能,使开发者能够快速创建高性能的 Web 应用。在生物信息开发中,数据库搭建和模型部署等场景可能会用到,因此记录下。
学习资源
核心特点
-
简洁API:CherryPy的API设计简洁直观,让Web应用开发变得简单快捷。
-
内置HTTP服务器:自带多线程服务器,无需额外配置即可启动。
-
插件丰富:提供多样插件,轻松实现认证、缓存、会话管理等功能。
安装
pip install cherrypy
应用示例
示例一:极简的Hello World
import cherrypy
class HelloWorld:
@cherrypy.expose
def index(self):
return "Hello, World!"
if __name__ == '__main__':
cherrypy.quickstart(HelloWorld())
示例二:处理表单数据
import cherrypy
class FormHandler:
@cherrypy.expose
def index(self):
return """
<form method="post" action="submit">
Name: <input type="text" name="name">
<input type="submit">
</form>
"""
@cherrypy.expose
def submit(self, name):
return f"Hello, {name}!"
if __name__ == '__main__':
cherrypy.quickstart(FormHandler())
# 用户可以输入姓名并点击 "Submit" 按钮。当用户提交表单时,CherryPy 将数据传递给 process 方法,然后可以使用用户输入的数据生成响应。
示例三:RESTful API
import cherrypy
class RestAPI:
@cherrypy.expose
def GET(self, *args, **kwargs):
if not args:
return "Welcome to the API!"
return f"Resource requested: {args[0]}"
if __name__ == '__main__':
cherrypy.quickstart(RestAPI())
# 当用户访问 /api 路径时,它将返回根资源的信息。当用户访问其他路径时,它将显示请求的资源名称。
示例四:数据库集成
import cherrypy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
username = Column(String)
engine = create_engine('sqlite:///mydatabase.db')
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
class DBExample:
@cherrypy.expose
def index(self):
session = Session()
session.add(User(username='testuser'))
session.commit()
return "New user added!"
if __name__ == '__main__':
cherrypy.quickstart(DBExample())
# 创建了一个 User 类,它对应数据库中的 users 表。使用 SQLAlchemy 创建了一个 SQLite 数据库,并将 User 类映射到数据库表。然后,在 index 方法中向数据库添加了一个用户。
总结
CherryPy 是一个极简、稳定且功能强大的 Web 框架,它通过简洁的 API 和清晰的结构,提供了一种简单快速的方法来构建Web应用程序。使用 CherryPy,可以轻松地创建高性能的Web应用程序,处理请求和生成响应。
参考:
_https://mp.weixin.qq.com/s/gpd1s5AJD6loYxR6rH5MGA;_https://mp.weixin.qq.com/s/2gc3Z9_fQ9gyku0GcALfFg
标签:__,Web,return,cherrypy,CherryPy,import,轻量级 From: https://www.cnblogs.com/miyuanbiotech/p/18449523