2017-06-26 1 views
-1

私は助けが必要です。 DjangoとPythonを使用して入力値ごとにレコードを照合する必要があります。私は以下のコードを説明しています。DjangoとPythonを使ってレコードを数え合わせる方法

models.py:

class User(models.Model): 
    """docstring for User""" 

    uname = models.CharField(max_length=200) 
    password = models.CharField(max_length=200) 
    date = models.DateTimeField(default=datetime.now, blank=True) 

Views.py:ここ

def loginsave(): 
    if request.method == 'POST': 
     name = request.POST.get('uname') 
     password = request.POST.get('pass') 

私は、ユーザー名とPASSORDごとにレコードと一致する必要があります。レコードが存在する場合は、それ以外は0を返します。助けてください。

+1

まず第一に、これは単に文書で答え些細な疑問です。第二に、**はこれをしない**;パスワードをクリアテキストで保存しないでください。 Djangoに組み込まれている認証システムを使用します。 –

+0

あなたは何を試しましたか、その解決策についてはうまくいきませんでしたか? –

+0

@DanielRoseman:はい私はデフォルトフォームを知っていますが、自分でテストする必要があります。この状態が何をすべきかを引き起こす場合。 – subhra

答えて

0

models.py

class User(models.Model): 
    """docstring for User""" 

    uname = models.CharField(max_length=200) 
    password = models.CharField(max_length=200) 
    date = models.DateTimeField(default=datetime.now, blank=True) 

Views.py:

from models import User 

def loginsave(): 
    if request.method == 'POST': 
     name = request.POST.get('uname') 
     password = request.POST.get('pass') 
     users = Users.objects.filter(uname=name, password=password).count() 
     if users == 0: 
      return 0 
     elif users > 0: 
      return 1 

あなたが投稿したユーザー名とパスワードのユーザーテーブルを照会し、返されたレコードの数を取得する必要がある最初の。

あなたの必要に応じてカウントを使用してください。

の代わりに、コードの重複を避けるために以下の手法を使用することをお勧めします。モデル内にクエリコードを書くことができれば、将来他の機能や他の関数で同様のチェックをしたい場合に備えて、重複を避けることができます。

models.py

class User(models.Model): 
    """docstring for User""" 

    uname = models.CharField(max_length=200) 
    password = models.CharField(max_length=200) 
    date = models.DateTimeField(default=datetime.now, blank=True) 

    @staticmethod 
    def checkUserExists(un, pwd): 
     users = Users.objects.filter(uname=name, password=password).count() 
     if users == 0: 
      return 0 
     elif users > 0: 
      return 1 

Views.py:

from models import User 

def loginsave(): 
    if request.method == 'POST': 
     name = request.POST.get('uname') 
     password = request.POST.get('pass') 
     return User.checkUserExists(un=name, pwd=password) 
関連する問題