我正在尝试使用login()和authenticate()方法在Django中验证用户。完成后,我会重定向到经过身份验证的着陆页。当我尝试访问request.user对象时,我总是得到匿名使用对象,即使我正在正常验证用户。知道为什么吗?这是login.FYI的代码,我正在使用Django注册。并且在DB中创建用户(以及他们的用户名和密码)。
def login_my_user(request):
name = request.POST.get('username', '')
pwd = request.POST.get('password', '')
user = authenticate(username=name, password=pwd)
if user is not None:
if user.is_active:
login(request, user)
#redirect to authenticated page
Settings.py文件信息
# Middleware Settings
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
# apps
INSTALLED_APPS = (
'django.contrib.contenttypes',
'django.contrib.staticfiles',
'django.contrib.sessions',
'django.contrib.auth',
'test'
)
#Template
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
TEMPLATE_DIRS = (
PROJECT_DIR + "/templates",
)
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.contrib.auth.context_processors.auth',
)
检查用户的某些信息中心的用户凭据
def user_dashboard(request):
user = request.user
print user
现在,它提供了AnonymousUser问题
答案 0 :(得分:0)
您使用的AUTHENTICATION_BACKENDS
是什么?
如果您不知道,请在settings.py
中设置选项:
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)