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

相关文章

3个用于数据科学的顶级Python库

3个用于数据科学的顶级Python库

Python有许多吸引力,如效率,代码可读性和速度,使其成为数据科学爱好者的首选编程语言。Python通常是希望升级其应用程序功能的数据科学家和机器学习专家的首选。 由于其广泛的用途,P...

Python实现从url中提取域名的几种方法

从url中找到域名,首先想到的是用正则,然后寻找相应的类库。用正则解析有很多不完备的地方,url中有域名,域名后缀一直在不断增加等。通过google查到几种方法,一种是用Python中自...

解决Django中修改js css文件但浏览器无法及时与之改变的问题

解决Django中修改js css文件但浏览器无法及时与之改变的问题

今天修改之前实习小伙伴写的js代码的时候,遇到修改后页面未发生变化的问题。因为我是web开发小白,所以上网查了一波,得以解决~~ 初次进行web工程开发的人可能会碰到这样的情况:自己在明...

python批量修改文件名的实现代码

#coding:utf-8 #批量修改文件名 import os import re import datetime re_st = r'(\d+)\+\s?\((...

测试、预发布后用python检测网页是否有日常链接

在大的互联网公司干技术的基本都会碰到测试、预发布、线上这种多套环境的,来实现测试和线上正式环境的隔离,这种情况下,就难免会碰到秀逗了把测试的链接发布到线上的情况,一般这种都是通过一些测试...