Pyramid将models.py文件的内容分布到多个文件的方法

yipeiwu_com6年前Python基础

我们通过下面的文件结构,将models.py改成一个package.

复制代码 代码如下:

myapp
    __init__.py
    scripts
        __init__.py
        initialize_db.py
    models
        __init__.py
        meta.py
        foo.py
        moo.py

上面的 meta.py, 在代码中定义一个其它model文件共享Base和DBSession.

复制代码 代码如下:

Base = declarative_base()
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension))

foo.py和moo.py就是具体的model定义
foo.py 和moo.py 使用meta.py中定义的base

为了保证定义的model能够在程序中被启用,在models/__init__.py中引入它们:

复制代码 代码如下:

from .meta import DBSession
from .foo import Foo
from .moo import Moo

相关文章

Python中一行和多行import模块问题

Python 不建议用一行 import 所有模块,而是推荐用多行 import 来导入模块。更多的是出于操作便利性的原因,与代码本身无关: 更易于阅读 import fred 比...

十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)

十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)

话不多说,直接开搞! 练习项目一:即时标记 补充utils.py: 练习项目二:画幅好画 练习项目三:万能的XML 练习项目四:新闻聚合...

Python学习之Django的管理界面代码示例

Python学习之Django的管理界面代码示例

本文研究的主要是Python web开发框架Django的管理界面的相关内容,具体如下。 admin界面的路径,通常在my_project中已经设置好了,使用django-admin.p...

使用Python编写提取日志中的中文的脚本的方法

使用Python编写提取日志中的中文的脚本的方法

由于工作需要在一大堆日志里面提取相应的一些固定字符,如果单纯靠手工取提取,数据量大,劳心劳力,于是自然而然想到了用Python做一个对应的提取工具,代替手工提取的繁杂,涉及中文字符,正则...

Python 中开发pattern的string模板(template) 实例详解

定制pattern的string模板(template) 详解 string.Template的pattern是一个正则表达式, 可以通过覆盖pattern属性, 定义新的正则表达式....