2017-06-21 10 views
0

私のサイトでは認証のためhttps://flask-httpauth.readthedocs.io/en/latest/を使用しています。今私はそれがデータベースからのデータを使用していることを確認しようとしています。これを行うために、私はデータベースという名前のユーザーを作成し、ユーザー名とパスワードという名前の列を作成しました。私はそれのように見えるGET_USER機能作ったモデルとしてのクラスを定義した後、このテーブルからデータを取得するためにHTTPBasicAuthの問い合わせ情報

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

     return user 

を(私はそれが正しいかどうか分からない)

次の私は

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

私がログイン名とパスワードが、それらを与えるために、プロンプトを取得サイトを実行した後:私は、それはそれのように見せていたget_pw機能を変更する必要がありましたが、私もそれを修正する方法がわかりませんでしたデータベースにセットアップしたものが動作しないように見えるので、get_pw関数に問題がなければなりません。また、私はデータベースを管理するpeewee SQLを使用しています:

答えて

0

get_userメソッドを取り除くことができるので、ユーザーテーブルからすべてのレコードをフェッチする非常に大きな選択クエリを発行しています。

また
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 

、その良い練習が単数名詞ではなく、複数ようにモデルクラスを定義するには:get_pwはとして再定義することができます。だから、のユーザではなく、のユーザと呼んでください。 http://docs.peewee-orm.com/en/latest/peewee/quickstart.html#quickstart

これは、あなたが時間がない中で始めるのに役立つだろう