首页 > 编程语言 >CherryPy :一个轻量级的 Python Web 框架

CherryPy :一个轻量级的 Python Web 框架

时间:2024-10-06 22:26:03浏览次数:6  
标签:__ Web return cherrypy CherryPy import 轻量级

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

相关文章

  • go web的json系列化
     打开APP  golangWEB应用【2】:json数据处理应用 原创https://blog.csdn.net/loo_Charles_ool/article/details/138916161原地址2024-05-1517:33:48阅读量980收藏28 32赞一叶萩Charles 码龄7年关注 文章目录json数据处理应用JS......
  • 使用宝塔WebHook自动同步Gitlab提交的代码
    一、配置SSH创建SSH密钥打开终端。生成SSH密钥:使用以下命令生成一个新的SSH密钥对:ssh-keygen-trsa-b4096-C"[email protected]"-trsa 指定密钥类型为RSA。-b4096 指定密钥长度为4096位。-C"[email protected]" 用于添加注释(通常是......
  • SEHS4517 Web Application Development
    SEHS4517WebApplicationDevelopmentandManagementSemester1,2024-2025AssignmentIndividualAssignment(30%oftheassessmentofthiscourse)Thisindividualassignmentaims:Toconductresearchonrelevantreferencematerialsorsources.Todeve......
  • 好用的websocket 心跳重连js脚本
    varwsUrl='ws://'+(document.domain||'127.0.0.1')+':8282';varws=null;//WebSocket对象varheartbeatTimer=null;//心跳定时器varisReconnect=true;//是否自动重连//创建WebSocket连接//@authhttps://so.csdn.net/so/aifu......
  • CTFWeb篇01
    该篇简单介绍一下打CTFWeb需要使用的一些工具:Dirsearch——一款非常好用的目录扫描工具,基本上所有的常见目录它都可以扫出来,避免了你艰难地测试一个个目录所花费的大量时间。Kali虚拟机——建议优先搭一个linux系统的虚拟机,上面自动搭载了许多工具,同时很多工具在linux系统上可以......
  • web知识点
    题注:当开发人员在线上环境中使用vim编辑器,在使用过程中会留下vim编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。已知:当vim异常退出时,以index.php为例,第一次产生.index.php.swp第二次产生.index.php.swo第三次产生.index.php.swn查看IP等:控制人太台:ipc......
  • yt downloader website
     isanonlinewebsitethatoffersaconvenienttoolfordownloadingcontentfromYouTube. Whatisit?Itisknownasytdownloader,whichisafreeonlineYouTubedownloadtool.ItprovidesuserswithaneasywaytoobtainvarioustypesofmediafromYo......
  • 解决Web部署 svg/woff/woff2字体 404错误
    如果你在IIS服务器上部署项目后发现字体文件(如 .woff, .woff2, .svg)无法正常加载,可以通过在IIS上添加MIME类型来解决这个问题。步骤说明打开IIS管理器。找到对应的网站或应用程序。添加MIME类型。具体操作步骤打开IIS管理器:在Windows搜索栏中输入“......
  • PbootCMS增加可允许上传文件类型,例如webp、mov等文件格式扩展
    在PbootCMS中增加可允许上传的文件类型(例如 webp、mov 等文件格式),需要在多个地方进行配置。以下是详细的步骤:操作步骤1.修改 config.php 文件首先需要修改 config.php 文件,增加允许上传的文件类型。打开 config.php 文件打开 config.php 文件,通常位于 /config......
  • (开题)flask框架基于Web的工艺品展示系统的设计与实现(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,电子商务和在线展示平台已成为各行业推广和销售产品的重要手段。工艺品作为富含文化底蕴和艺术价值的产品,其传统......