如何将电子邮件和密码与我在Django数据库中保存的电子邮件和密码进行比较


  1. my views.py
  2. 我想比较电子邮件和密码与电子邮件&我保存在Django数据库中的密码
  3. 基本上,我是在模型和模型数据的帮助下创建登录注册
def shoplogin(request):
if request.method == 'POST':
username = request.POST['loginemail']
password = request.POST['loginpass1']

shopLogin = shop_registration.objects.all()
username1 = shopLogin.email
password1 = shopLogin.pass1
if username == username1 and password == password1:
messages.success(request, "Success")
print("login seccess")
return redirect('createyourshop')
else:
messages.error(request, "login failed")
print("login failed")
return redirect('createyourshop')
return HttpResponse('shoplogin')

这些是我的模型表。

我的型号.py

class shop_registration(models.Model):
name = models.CharField(default='', max_length=30)
email = models.EmailField(default='', max_length=60) #compare this email to 'loginemail'
mobile_number = models.CharField(max_length=12, default='')
pass1 = models.CharField(default='', max_length=20) #compare this pass1 to 'loginpass1'
pass2 = models.CharField(default='', max_length=20)
def __str__(self):
return self.name

以下是您可以做的:

  1. 如果存在包含输入电子邮件的电子邮件,请检查所有注册
  2. 如果电子邮件不存在,则返回"0";登录失败">
  3. 如果电子邮件存在,请检查相应的密码是否与输入的密码匹配
  4. 如果密码也匹配,则登录成功
def shoplogin(request):
if request.method == 'POST':
input_email = request.POST['loginemail']
input_password = request.POST['loginpass1']
try:
registered_user = shop_registration.objects.get(email=input_email)               
if input_password == registered_user.password:
messages.success(request, "Success")
print("login success")
else:
messages.error(request, "wrong password")
print("wrong password")
except shop_registration.DoesNotExist:
messages.error(request, "email does not exist")
print("email does not exist")
return redirect('createyourshop')

最新更新