我需要一些帮助来解决这个错误,我在我的 store_user_db.py 文件中创建了一个 User 类,它基本上使用 Fernet 加密库将加密密码存储在数据库中。存储密码后,我需要一个解密密码的函数,因此我在 User 类中创建了一个 def decrypt_pwd 函数,如下所示,问题是当我在导入 store_user_db 后尝试从 py 其他 form.py 文件中调用此函数时使用 User 类,它返回错误:'module' object has no attribute 'decrypt_pwd'
我错过了什么吗?如果可以,请以正确的方式编辑我的代码。
#store_user_db.py
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///data-users2.sqlite"
db = SQLAlchemy(app)
class User(db.Model):
__tablename__ = "user"
id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
username = db.Column(db.String(64), unique=True)
pwd = db.Column(db.LargeBinary(), unique=True)
def __init__(self, id, username, pwd):
key = Fernet.generate_key()
f = Fernet(key)
token = f.encrypt(pwd)
self.id = id
self.username = username
self.pwd = f.encrypt(pwd)
def decrypt_pwd(self):
p = db.session.query(User).filter_by(username="ita_itf").first()
DESTINATION_PSW = f.decrypt(p.pwd)
return DESTINATION_PSW
这里我调用函数:
#form.py
from store_user_db import User, db
import store_user_db
DICP_FTP_DESTINATION_PSW = store_user_db.decrypt_pwd()
错误:
AttributeError: 'module' object has no attribute 'decrypt_pwd'