查询HTTPBasicAuth的信息

时间:2017-06-21 19:47:23

标签: python mysql authentication peewee

对于我的auth网站,我正在使用https://flask-httpauth.readthedocs.io/en/latest/。现在我试图让它使用数据库中的数据。为此,我创建了名为Users的数据库,并创建了名为username和password的列。

要在将类定义为模型后从此表中获取数据,我已经创建了类似于get_user的函数:

@staticmethod
    def get_user():
        query = (Users
                 .select())
        user = []
        for s in query:
            user.append(s)

        return user

(我不确定它是否正确)

接下来我不得不修改get_pw函数,但我也不确定如何修改它,所以我看起来像它:

@auth.get_password
    def get_pw(username):
        if username in Users.get_user():
            return users.get(Users.get_user())
        return None

现在运行网站后,我得到提示登录和密码,但我在数据库中设置的那些似乎不起作用,所以get_pw函数一定有问题。我也使用peewee SQL来管理数据库:http://docs.peewee-orm.com/en/latest/peewee/querying.html

1 个答案:

答案 0 :(得分:0)

您可以删除get_user方法,因为您发出的是一个非常大的选择查询,用于从用户表中获取所有记录。 get_pw可以重新定义为:

def get_pw(username):
    user = Users.get(Users.name == username) #assuming you have a username field in model
    return user.password #assuming a password field

此外,将模型类定义为单数名词而不是复数是一种很好的做法。因此,最好将其称为用户,而不是用户

这将帮助您立即开始:http://docs.peewee-orm.com/en/latest/peewee/quickstart.html#quickstart