如何在 Django 中验证用户(模型)? 根据 django 文档,我们可以使用以下方法对用户进行身份验证,
user=auth.authenticate(username=username,password=password)
if user is not None:
auth.login(request,user)
return redirect('/profile')
我在上面尝试过,它成功了,但它仅适用于管理面板附带的内置用户模型。 我的问题是:
我在models.py中创建了一个带有自定义字段的模型(客户),例如电话号码
from django.db import models
class Customers(models.Model):
first_name=models.CharField(max_length=100)
last_name=models.CharField(max_length=100)
phone=models.CharField(max_length=15)
email=models.EmailField()
password=models.CharField(max_length=500)
登录.html
<form action="/login/" method="POST">
{% csrf_token %}
<input type="email" name="email" placeholder="Enter email">
<input type="password" name="password" placeholder="Password">
<input type="submit" value="submit">
</form>
在views.py中
def login(request):
if request.method=='POST':
email= request.POST.get('email')
password= request.POST.get('password')
user = Customers.authenticae(email=email, password=password)
if user is not None:
user.login(request, user)
return redirect('/profile')
return render(request,'login.html')
当我尝试这个时,它说:
type object 'Customers' has no attribute 'authenticae'
我是否需要在models.py 中创建authenticate() 函数,或者有一种方法可以做到这一点?如何验证我的客户,我刚开始学习 django 框架,任何人都可以帮助我实现这一点。