Python导入模块

时间:2014-08-11 19:10:30

标签: python

我有以下app结构。 IDE工作正常,解析,但运行一些脚本给我

  File "/home/sink/TARET/app/models.py", line 4, in <module>
    from app import db
ImportError: No module named app

错误。我将模块称为:

import datetime
from app import db


class Role(db.Model):
    __tablename__ = 'role'
    RoleID = db.Column(db.Integer, primary_key=True)
    Name = db.Column(db.String(80), unique=True)
    ModifiedDate = db.Column(db.DATETIME) and so on

python中模块的正确用法是什么? 我有以下结构。

enter image description here

好的编辑:

db在 init .py中定义为

app = Flask(__name__)
app.debug = True
app.config.from_object('config')
db = SQLAlchemy(app)

1 个答案:

答案 0 :(得分:1)

在app / __ init__.py的底部放置:

from app import models

<强>为什么吗

来自http://flask.pocoo.org/docs/patterns/packages/

  

循环进口

     

每个Python程序员都讨厌它们,但我们只是添加了一些:   循环导入(这是两个模块相互依赖的时候   这种情况views.py取决于__init__.py)。请注意,这是一个   一般来说不好的主意但这里实际上很好。原因就在于此   是我们实际上并没有使用__init__.py中的视图   确保模块已导入,我们在底部执行此操作   文件。