【问题标题】:Why do I get a 'NameError' with this import?为什么此导入会出现“NameError”?
【发布时间】:2014-12-24 06:28:01
【问题描述】:

我正在构建一个使用 Flask 和 SQLAlchemy 的网络应用程序,但我似乎看不出它无法正确导入和工作的原因。

我正在尝试测试我正在构建的数据库,但我不断收到NameError

文件1:

from flask.ext.sqlalchemy import SQLAlchemy
from flask import Flask
from File2 import db, data1, data2, data3

文件2:

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///DB_File.db' # Uses '///' because '////' puts the file in '/' on server.
db.SQLAlchemy(app)

File2 后面是一些继承db.Model 的类,但我认为我不需要在此处包含这些。

为了得到错误,我正在调用 Python 解释器并执行 import File1。这看起来像:

>>> import File1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Tux/code/AppName/app/Util/File1.py", line 6, in <module>
    from KarmaCourtDB import db, data1, data2, data3
  File "/Tux/code/AppName/app/Util/File2.py", line 6, in <module>
    db.SQLAlchemy(app)
NameError: name 'db' is not defined

如果有人能帮助我或为我指明正确的方向,我将不胜感激!此代码之前可以使用,我可以在导入后使用db.create_all() 创建数据库。

【问题讨论】:

  • db.SQLAlchemy(app) 几乎可以肯定是db = SQLAlchemy(app)

标签: python flask sqlalchemy flask-sqlalchemy python-import


【解决方案1】:

db.SQLAlchemy(app) 没有定义db,只是尝试在db 上运行SQLAlchemy() 方法。 但是,db = SQLAlchemy(app) 将定义 db

【讨论】:

  • 我意识到今天早上睡了一会儿后我错过了,但你是对的。当我达到一定程度的睡眠剥夺时,我真的需要停止发育。
  • @Tux 这发生在我们所有人身上:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-27
  • 2021-03-29
  • 2022-01-04
相关资源
最近更新 更多