如何解决尝试导入模型时出现烧瓶错误
我正在尝试通过终端创建用户,但收到以下消息:
(我已经看过SQLAlchemy的文档。创建User类并在同一文件中启动db时没有问题,但是在使用不同文件时我找不到问题所在)
>>> test = User('a','b','c')
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
NameError: name 'User' is not defined
我的目录树:
+-- __init__.py
+-- models
| +-- tables.py
我的 init .py文件:
from flask import Flask
from flask_script import Manager
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)
manager = Manager(app)
from app.models import tables
from app.controllers import default
我的tables.py(创建用户模型的文件):
from app import db
from flask_login import UserMixin
class User(UserMixin,db.Model):
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(50))
username = db.Column(db.String(30),unique=True)
password = db.Column(db.String(30))
def __repr__(self):
return '<User %r>' % self.username
def __init__(self,name,username,password):
self.name = name
self.username = username
self.password = password
解决方法
您需要
from tables import User
# or models.tables,or app.models.tables,if not in same directory
test = User('a','b','c')
,您应该在__init__.py
目录中有一个models
文件。您从哪个目录运行它?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。