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

我如何使用Deliciouspie登录django

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

我如何使用Deliciouspie登录django

你的方法将尝试使用你要进行身份验证的用户名创建一个新用户。正如你所注意到的,这将在数据库层冒泡,该用户已经存在。

你想要创建一个UserResource,在其上添加一个方法,用户可以将其发布到并使用通过用户名/密码传递的数据登录。

from django.contrib.auth.models import Userfrom django.contrib.auth import authenticate, login, logoutfrom tastypie.http import HttpUnauthorized, HttpForbiddenfrom django.conf.urls import urlfrom tastypie.utils import trailing_slashclass UserResource(ModelResource):    class meta:        queryset = User.objects.all()        fields = ['first_name', 'last_name', 'email']        allowed_methods = ['get', 'post']        resource_name = 'user'    def override_urls(self):        return [ url(r"^(?P<resource_name>%s)/login%s$" %     (self._meta.resource_name, trailing_slash()),     self.wrap_view('login'), name="api_login"), url(r'^(?P<resource_name>%s)/logout%s$' %     (self._meta.resource_name, trailing_slash()),     self.wrap_view('logout'), name='api_logout'),        ]    def login(self, request, **kwargs):        self.method_check(request, allowed=['post'])        data = self.deserialize(request, request.raw_post_data, format=request.meta.get('CONTENT_TYPE', 'application/json'))        username = data.get('username', '')        password = data.get('password', '')        user = authenticate(username=username, password=password)        if user: if user.is_active:     login(request, user)     return self.create_response(request, {         'success': True     }) else:     return self.create_response(request, {         'success': False,         'reason': 'disabled',         }, HttpForbidden )        else: return self.create_response(request, {     'success': False,     'reason': 'incorrect',     }, HttpUnauthorized )    def logout(self, request, **kwargs):        self.method_check(request, allowed=['get'])        if request.user and request.user.is_authenticated(): logout(request) return self.create_response(request, { 'success': True })        else: return self.create_response(request, { 'success': False }, HttpUnauthorized)

现在你可以将POST发送到

http://hostname/api/user/logindata
{ 'username' : 'me', 'password' : 'l33t' }



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

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

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