2017-06-21 92 views
0

對於我的網站授權,我使用https://flask-httpauth.readthedocs.io/en/latest/。現在我試圖讓它使用數據庫中的數據。爲此,我創建了名爲Users的數據庫並創建了名爲username和password的列。HTTPBasicAuth的查詢信息

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

     return user 

(我不知道這是否是正確的)

下一頁我:

要定義它的類爲模型我做了GET_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

回答

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