Моя проблема в том, что у меня нет возможности добавлять пользователей через оболочку python. Затем я добавляю пользователей, если импортирую класс Admin из приложения, но у меня появляется ошибка NameError: name 'Admin' is not defined
.
в models.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}')"
в init .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()
папка
aplication
|
|-----app
| |
| |---static
| | |...
| |
| |---templates
| | |...
| |
| |---__init__.py
| |
| |---forms.py
| |
| |---models.py
| |
| |---views.py
|
|-----run-test.py
|
|-----run.py
|
|-----start.sh
Согласно https://flask -sqlalchemy.palletsprojects.com / ru / 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()
После ввода команды >>> admin = Admin(username='John', password='1qaz@WSX', pin='1234', name='John', surname='Trump')
получаю ошибку NameError: name 'Admin' is not defined