Django认证系统实现



我正在构建一个Django应用程序,我想实现身份验证。我想既然框架已经包含了一个包,我就不必把它弄得太复杂了。但我发现了一个问题。当我创建一个模型|数据库时,Django会为我创建一个表。但因为我没有创建任何表,我想这是正常的,Django提出no such table: auth_user时,我试图与模型的工作。

我刚刚写了这段代码:

from django.contrib import auth
result = auth.authenticate(username=user,password=pswd)

没有做任何其他事情。我需要为Django写些什么来创建表并开始使用这个内置工具?

认证函数不会登录用户,如果凭证正确,它只返回一个用户对象。你还必须使用login.

from django.contrib.auth import authenticate, login

那么当用户登录时:

user = authenticate(username=user, password=pswd)
if user is not None:
    #This will actually log the user in to the web request
    login(request, user)

更多信息请访问:https://docs.djangoproject.com/en/1.6/topics/auth/default/#auth-web-requests

看起来你在INSTALLED apps中没有django auth模块

在settings.py文件中检查INSTALLED_APPS是否有

INSTALLED_APPS = (
    'django.contrib.auth',
    ...,
)

如果没有添加django.contrib.auth到你的INSTALLED_APPS和运行python manage.py syncb为您创建认证表。

注意您可能会被要求创建一个Admin用户

最新更新