[英]Can't import class model in database SQLAlchemy from shell python
My problem is that I have no possibility adding users by python shell.我的问题是我不可能通过 python shell 添加用户。 Then I add users if I import class Admin from application but I got error NameError: name 'Admin' is not defined
.然后,如果我从应用程序导入 class Admin ,则添加用户,但出现错误NameError: name 'Admin' is not defined
。
in models.py在模型.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import Table, Column, Integer, ForeignKey, DateTime
from sqlalchemy.orm import relationship
class Admin (db.Model):
idAdmin = db.Column(db.Integer, primary_key=True)
login = db.Column(db.String(255))
password = db.Column(db.String(255))
pin = db.Column(db.Integer)
name = db.Column(db.String(255))
surname = db.Column(db.String(255))
def __repr__(self):
return f"Admin('{self.name}','{self.surname}')"
in init .py在初始化.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from model import db
from flask_wtf.csrf import CSRFProtect
import os
app = Flask(__name__)
file_path = os.path.abspath(os.getcwd()) + "\database.db"
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///" + file_path
db = SQLAlchemy()
db.create_all()
folder文件夹
aplication
|
|-----app
| |
| |---static
| | |...
| |
| |---templates
| | |...
| |
| |---__init__.py
| |
| |---forms.py
| |
| |---models.py
| |
| |---views.py
|
|-----run-test.py
|
|-----run.py
|
|-----start.sh
According tohttps://flask-sqlalchemy.palletsprojects.com/en/2.x/quickstart/ I must consider:根据https://flask-sqlalchemy.palletsprojects.com/en/2.x/quickstart/我必须考虑:
>>> from app import db
>>> db.create_all()
>>> from app import Admin
>>> admin = Admin(username='John', password='1qaz@WSX', pin='1234', name='John', surname='Trump')
>>> db.session.add(admin)
>>> db.session.commit()
After entering the command >>> admin = Admin(username='John', password='1qaz@WSX', pin='1234', name='John', surname='Trump')
I get error NameError: name 'Admin' is not defined
输入命令后>>> admin = Admin(username='John', password='1qaz@WSX', pin='1234', name='John', surname='Trump')
我得到错误NameError: name 'Admin' is not defined
It looks like your import should be看起来您的导入应该是
from app.models import Admin
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.