我正在构建一个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用户