让 Django 在我的自定义模型中查找数据



我是Django的新手,我正在尝试的概念非常简单。我创建了自定义模型(我不想扩展任何预定义的模型(。使用此代码,我尝试验证我的登录:

Models.py : (我在这里只给出了示例数据。这不是我使用的真实数据。我的客户希望我使用任何内置模型,如AbstractBaseUser等。

from django.db import models
#from django.contrib.auth.models import User
class logindata(models.Model):
    fname= models.CharField(max_length=30)
    lname = models.CharField(max_length=30)
    uname = models.CharField(max_length=30)
    password = models.CharField(max_length = 30)

Views.py

def auth_view(request):
username = request.POST.get('username','')
password = request.POST.get('password','')
user =auth.authenticate(uname=username, password=password)
if user is not None:    
    auth.login(request, user)
    return HttpResponseRedirect('/accounts/loggedin',{'user':user})
else:
    return HttpResponseRedirect('/accounts/invalid')
def loggedin(request):
    return render_to_response('loggedin.html',
                              {'name':request.user.uname})

我的问题很简单。 我希望身份验证查看我的自定义模型(登录数据(而不是默认模型。我该怎么做??

如果你想创建自定义的用户模型,Django 提供了一个可以扩展和使用的django.contrib.auth.models.AbstractBaseUser模型。Django 文档有一整节专门讨论这一点,看看。

如果你对 Django 的用户模型完全满意,并且只想添加一些额外的配置文件信息,你可以简单地子类django.contrib.auth.models.AbstractUser并添加你的自定义配置文件字段。此类提供默认User作为抽象模型的完整实现。

您可以在 github 上浏览代码以查看要扩展的内容。

尝试使用设置AUTH_USER_MODEL定义自定义模型

我没有自己测试它,也许它会要求你对 django BaseUser 进行子类化,但你应该尝试一下。


  • 在你更新可以使用 Django 基本模型之后,我可以说这种方法肯定会起作用。

相关内容

  • 没有找到相关文章

最新更新