Mar*_*eth 10
金字塔在其基础上并不假设您将使用任何一个特定的库来帮助您保持持久性.为了使事情变得简单,那么对于那些希望使用SQLALchemy等库的人来说,Pyramid库包含Scaffolding,它基本上是一些基本站点的自动生成代码,还有一些用于设置SQLAlchemy或特定的路由策略.金字塔文档应该能够引导您使用"pyramid_starter"脚手架创建一个新项目,该脚手架在没有SQLAlchemy的情况下设置基本站点.
这将为您提供设置视图所需的基础知识,但接下来您将需要添加代码以允许您连接到数据库.幸运的是,由于您的站点只是python代码,因此学习如何在Pyramid中使用MySQL只是学习如何在Python中使用MySQL,然后在Pyramid项目中执行完全相同的步骤.
请记住,即使您更喜欢使用原始SQL查询,您仍可能在SQLAlchemy中找到一些有用的东西.在它的基础级别,SQLAlchemy简单地包装了DBAPI调用并添加了有用的功能,如连接池.ORM功能实际上是严格的低级SQLAlchemy工具集的一个重要补充.
sqlalchemy没有假设您将使用它的orm.如果你想使用普通的sql,你可以这样做,只有sqlalchemy已经提供了.例如,如果您遵循cookbook中的配方,则可以访问sqlalchemy会话对象,因为request.db您的处理程序看起来像这样:
def someHandler(request):
rows = request.db.execute("SELECT * FROM foo").fetchall()
Run Code Online (Sandbox Code Playgroud)