将sqlalchemy与cherrypy结合使用

CherryPy-SQLAlchem的Python项目详细描述


cherrypy sqlalchemy使在cherrypy中使用sqlalchemy变得很容易 应用程序。

学分

这个包主要是从Sylvain’s SQLAlchemy recipe创建的。

基本用法

cherrypy sqlalchemy有两个元素

  1. A CherryPy tool that will create a session for use with each request.
  2. A CherryPy plugin that can maintains information about the database and binds the session to the specific DB.

下面是一个连接到sqlite数据库的示例:

import cherrypy

from app import Root
from app.models import ORMBase
from cp_sqlalchemy import SQLAlchemyTool, SQLAlchemyPlugin


def run():
    cherrypy.tools.db = SQLAlchemyTool()
    cherrypy.tree.mount(Root(), '/', {
        '/': {
            'tools.db.on': True
        }
    })

    SQLAlchemyPlugin(
        cherrypy.engine, ORMBase, 'sqlite:////path/to/file.db'
    )

    cherrypy.engine.start()
    cherrypy.engine.block()

值得注意的一点是我们进口的奥姆巴是 sqlalchemy.ext.declarative.declarative_base()用于 创建模型。

从那里,每个请求都可以访问cherrypy.request.db, 这是一个sqlalchemy会话的实例。

在源代码中有一个更完整的example.py

  • 免费软件:BSD许可证

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java SOAP请求,创建主体   java如何将Logj4日志级别转换为JUL日志级别?   java为什么我可以将浮点传递给Double的构造函数?   java从特定的持久性Tibco EMS订阅中删除消息   java为什么会出现“xxx已定义”编译器错误?   如何在java中编写用于用户注册的web服务   java如何在不使用position的情况下打开不同的活动   java My数据库已经更新,但我的安卓 studio仍然没有更新,仍然显示以前获取的数据库   java缺少类型为Long的方法参数的URI模板变量“usuarioEntidade”   java从浏览器中删除jsessionid cookie,此时会话将失效   java解析XML仅获取注释和日期值   razor使用JAVA,如何解析。cshtml文件,并为该文件中现有的C#代码添加参数   java为什么返回空值?   javascript如何通过云函数触发firestore集合   java JFreeChart setRangeZeroBaseline可见   java Android ListView单击以创建新活动   正则表达式使用正则表达式来查找任何数字或重复的单词   Java邮件搜索和排序可减少电子邮件数量   在哪里配置EclipseJava编译器(javac)标志?   安卓将字符串转换为java。util。Java 8中的日期