AttributeError:“模块”对象没有属性“ decrypt_pwd”

问题描述

我需要一些有关此错误的帮助,我在store_user_db.py文件中创建了一个User类,该类基本上使用Fernet加密库在db中存储了加密密码密码存储后,我需要一个解密密码函数,因此我在User类中创建了一个def解密_pwd函数,如下所示,问题是当我尝试在导入store_user_db后从py其他form.py文件调用函数时使用User类,它返回错误:'module'对象没有属性'decrypt_pwd'

我错过了什么吗?如果可以的话,请以正确的方式编辑我的代码

testvar

在这里调用函数

testvar

错误

A: 50
B: 70
A: 70
B: 90
A: 90
B: 110
...

解决方法

尝试此代码:

#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()