栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MongoEngine用户身份验证(Django)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MongoEngine用户身份验证(Django)

不知道您是否遇到任何问题,因为您没有提及任何问题,但是我将mongoengine用于身份验证后端,这就是我将如何处理的问题:

from django.contrib.auth import login, Userfrom mongoengine.queryset import DoesNotExistdef login_view(request):    try:        user = User.objects.get(username=request.POST['username'])        if user.check_password(request.POST['password']): user.backend = 'mongoengine.django.auth.MongoEngineBackend' login(request, user) request.session.set_expiry(60 * 60 * 1) # 1 hour timeout return HttpResponse(user)        else: return HttpResponse('login failed')    except DoesNotExist:        return HttpResponse('user does not exist')    except Exception        return HttpResponse('unknown error')

您说用户未存储在请求中…如果您表示该用户在模板中不可用,则需要在设置中添加auth模板上下文处理器(除了已经设置的AUTHENTICATION_BACKENDS设置之外):

TEMPLATE_CONTEXT_PROCESSORS = (    ...    'django.contrib.auth.context_processors.auth',    ...)

要使用户在登录后附加到后续请求,请设置

AuthenticationMiddleware
和用户将成为
request
您所有视图中的属性:

MIDDLEWARE_CLASSES = (...    'django.contrib.auth.middleware.AuthenticationMiddleware',...)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614204.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号