AttributeError: 'module' object has no attribute 'decrypt_pwd'
AttributeError: 'module' object has no attribute 'decrypt_pwd'
我需要一些帮助来解决这个错误,我在我的 store_user_db.py 文件中创建了一个 class 用户,它基本上使用 Fernet 加密库将加密密码存储在数据库中。
存储密码后,我需要一个解密密码的函数,所以我在用户 class 中创建了一个 def decrypt_pwd 函数,如下所示,问题是当我尝试从 py other 调用此函数时form.py 文件在用用户 class 导入 store_user_db 后,return 错误:'module' 对象没有属性 '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'
试试这个代码:
#store_user_db.py
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, username, pwd):
self.username = username
self.pwd = f.encrypt(pwd)
def decrypt_pwd():
key = Fernet.generate_key()
f = Fernet(key)
token = f.encrypt(pwd)
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 decrypt_pwd
DICP_FTP_DESTINATION_PSW = decrypt_pwd()
我需要一些帮助来解决这个错误,我在我的 store_user_db.py 文件中创建了一个 class 用户,它基本上使用 Fernet 加密库将加密密码存储在数据库中。 存储密码后,我需要一个解密密码的函数,所以我在用户 class 中创建了一个 def decrypt_pwd 函数,如下所示,问题是当我尝试从 py other 调用此函数时form.py 文件在用用户 class 导入 store_user_db 后,return 错误:'module' 对象没有属性 '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'
试试这个代码:
#store_user_db.py
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, username, pwd):
self.username = username
self.pwd = f.encrypt(pwd)
def decrypt_pwd():
key = Fernet.generate_key()
f = Fernet(key)
token = f.encrypt(pwd)
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 decrypt_pwd
DICP_FTP_DESTINATION_PSW = decrypt_pwd()