rest_framework_simplejwt初步的demo
时间: 2023-05-11 18:06:06 浏览: 31
可以参考以下代码:
```python
from rest_framework_simplejwt.tokens import RefreshToken
# 创建用户并获取token
user = User.objects.create(username='testuser')
refresh = RefreshToken.for_user(user)
access_token = str(refresh.access_token)
print(access_token)
```
这段代码演示了如何使用 rest_framework_simplejwt 创建用户并获取 token。首先,我们导入了 RefreshToken 类,然后创建了一个名为 testuser 的用户。接下来,我们使用 RefreshToken.for_user() 方法为该用户生成 token,并将 access_token 转换为字符串并打印出来。
相关问题
rest_framework_simplejwt令牌校验
rest_framework_simplejwt是一个用于Django Rest Framework的JWT(JSON Web Token)认证插件。要进行JWT令牌校验,需要执行以下步骤:
1. 安装rest_framework_simplejwt库:可以使用pip命令进行安装,如下所示:
```pip install djangorestframework-simplejwt```
2. 在Django Rest Framework的settings.py文件中进行配置,如下所示:
```python
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_simplejwt.authentication.JWTAuthentication',
],
}
```
3. 在视图函数或视图类中使用rest_framework_simplejwt库提供的装饰器或Mixin进行认证,如下所示:
```python
from rest_framework_simplejwt.authentication import JWTAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.views import APIView
class MyView(APIView):
authentication_classes = [JWTAuthentication]
permission_classes = [IsAuthenticated]
def get(self, request):
# 进行业务逻辑处理
return Response({'message': 'Hello, world!'})
```
在以上示例代码中,使用了`JWTAuthentication`进行认证,同时添加了`IsAuthenticated`权限类,表示只有携带有效JWT令牌的请求才能访问该视图。
以上就是rest_framework_simplejwt令牌校验的基本步骤。
如何安装rest_framework_simplejwt
您可以通过以下步骤安装rest_framework_simplejwt:
1. 打开终端或命令行窗口
2. 进入您的项目目录
3. 运行以下命令:pip install djangorestframework-simplejwt
4. 在您的Django项目的settings.py文件中添加以下代码:
INSTALLED_APPS = [
...
'rest_framework',
'rest_framework_simplejwt',
...
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
),
}
5. 在您的urls.py文件中添加以下代码:
from rest_framework_simplejwt.views import (
TokenObtainPairView,
TokenRefreshView,
)
urlpatterns = [
...
path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
...
]
这样就可以使用rest_framework_simplejwt了。
相关推荐














