本文主要是介绍Simplejwt返回带Token的用户信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 说明
- 1. 创建 Serializer 文件
- 2. 创建 Views 文件
- 3. 配置 `urls.py`
- 4. 测试
说明
接上篇:DjangoRestFramework中的simplejwt使用
- https://blog.csdn.net/ShyLoneGirl/article/details/117759152
为使客户端请求 Token 同时返回登录账户基本信息,作如下处理。
1. 创建 Serializer 文件
命名为 login_seri.py
,代码如下,继承自 Simplejwt 包的类。
from rest_framework_simplejwt.serializers import *class TokenObtainPairSerializer(TokenObtainSerializer):@classmethoddef get_token(cls, user):return RefreshToken.for_user(user)def validate(self, attrs):data = super().validate(attrs)refresh = self.get_token(self.user)cUser = User.objects.get(username=self.user)data['username'] = cUser.usernamedata['mobile'] = cUser.mobiledata['email'] = cUser.emaildata['is_admin'] = cUser.is_admindata['last_login'] = cUser.last_loginif api_settings.UPDATE_LAST_LOGIN:update_last_login(None, self.user)return data
2. 创建 Views 文件
命令为 login.py
from rest_framework_simplejwt.views import *
from UserManagement.serializers import login_sericlass TokenObtainPairViewUM(TokenViewBase):"""Takes a set of user credentials and returns an access and refresh JSON webtoken pair to prove the authentication of those credentials."""serializer_class = login_seri.TokenObtainPairSerializertoken_obtain_pair = TokenObtainPairViewUM.as_view()
3. 配置 urls.py
from UserManagement.views.login import TokenObtainPairViewUMurlpatterns = [path("api/token/", TokenObtainPairViewUM.as_view(), name="token_obtain_pair"),
]
4. 测试
执行运行命令
E:\SweetYaya\MyProj01> python manage.py runserver
获取Token
打开 Postman 工具,设置如下
- 选择
post
方式 - 填写请求地址:http://127.0.0.1:8000/api/token/
- 添加头信息
Content-Type: application/json
.
.
.
.
.
.
桃花仙人种桃树,又摘桃花换酒钱_
这篇关于Simplejwt返回带Token的用户信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!