django接入djangorestframework-simplejwt步骤

2024-05-30 11:20

本文主要是介绍django接入djangorestframework-simplejwt步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

版本:django 4.2 python: 3.8

安装

pip install djangorestframework-simplejwt

user子应用models.py文件

from django.db import models
from django.contrib.auth.models import AbstractUserclass User(AbstractUser):mobile = models.CharField(max_length=11, unique=True, verbose_+name='手机号'  # unique 唯一索引,此处不能用IngeterFieldavatar = models.ImageField(upload_to='avatar', verbose_name='用户头像'WeChat= models.CharField(max_length=64, blank=True, null=True, verbose_name=''微信号)class Meta:db_table='user' # 自己定义名称verbose_name = '用户信息'verbose_name_plural = verbose_name

配置settings

REST_FRAMEWORK = {# 全局配置,若不需要可不配置,但在下面的views.py中,需要配置authentication_classes和permission_classes'AUTHENTICATION_CLASSES': ('rest_framework_simplejwt.authentication.JWTAuthentication'),'PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated',]
}
from datetime import timedelta
SIMPLE_JWT= {'ACESS_TOKEN_LIFETIME': timedelta(hours=5),'REFRESH_TOKEN_LIFETIME': timedelta(day=1),'ROTATE_FEFRESH_TOKENS':False,'AUTH_HEADER_TYPES': ('Bearer',),
}
# 注册自定义的User表,格式为:应用名。表模型
AUTH_USER_MODEL = 'user.User'

配置urls

from django.urls import path
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshViewurlpatterns = [path('token/', TokenObtainPairView.as_view(), name=''token_obtain_pair),path('token/refresh/', TokenRefreshView.as_view(), name=''token_obtain_pair),
]

以上,djangorestframework-simplejwt即配置完成,注意,在子应用中的views.py文件写视图函数的时候,需要加上`authentication_classes`以及`permission_classes`。
# views.py
from rest_framework.generics import ListAPIView
from rest_framework.permissions import IsAuthenticated
from rest_framework_simplejwt.authentication import JWTAuthenticationfrom .models import Banner
from .serializers import BannerModelSerializerclass BannerAPIView(ListAPIView):queryset = Banner.objects.filter(is_show=True, is_delete=False).order_by('-orders','-id)[: 3]  # 筛选前3个图片兵役orders和id倒叙排列serializer_class = BannerModelSerializerauthentication_classes = [JWTAuthentication]  # 此处必须是列表或元组,若全局有配置,则可省略这一步permission_classes = [IsAuthenticated]  # 此处必须是列表或元组,若全局有配置,则可省略这一步# serializers.py
from rest_framework import serializer
from .models import Bannerclass BannerSerializer(serializers.ModelSerializer):class Meta:model = Bannerfields = '__all__'

这篇关于django接入djangorestframework-simplejwt步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1016178

相关文章

Django调用外部Python程序的完整项目实战

《Django调用外部Python程序的完整项目实战》Django是一个强大的PythonWeb框架,它的设计理念简洁优雅,:本文主要介绍Django调用外部Python程序的完整项目实战,文中通... 目录一、为什么 Django 需要调用外部 python 程序二、三种常见的调用方式方式 1:直接 im

Nginx更新SSL证书的实现步骤

《Nginx更新SSL证书的实现步骤》本文主要介绍了Nginx更新SSL证书的实现步骤,包括下载新证书、备份旧证书、配置新证书、验证配置及遇到问题时的解决方法,感兴趣的了解一下... 目录1 下载最新的SSL证书文件2 备份旧的SSL证书文件3 配置新证书4 验证配置5 遇到的http://www.cppc

Java 操作 MinIO详细步骤

《Java操作MinIO详细步骤》本文详细介绍了如何使用Java操作MinIO,涵盖了从环境准备、核心API详解到实战场景的全过程,文章从基础的桶和对象操作开始,到大文件分片上传、预签名URL生成... 目录Java 操作 MinIO 全指南:从 API 详解到实战场景引言:为什么选择 MinIO?一、环境

python调用dubbo接口的实现步骤

《python调用dubbo接口的实现步骤》本文主要介绍了python调用dubbo接口的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录 ​​其他实现方式与注意事项​​ ​​高级技巧与集成​​用 python 提供 Dubbo 接口

在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)

《在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)》DataGrip是JetBrains公司出品的一款现代化数据库管理工具,支持多种数据库系统,包括MySQL,:本文主要介绍在D... 目录前言一、登录 mysql 服务器1.1 打开 DataGrip 并添加数据源1.2 配置 MySQL

Docker + Redis 部署集群的实现步骤

《Docker+Redis部署集群的实现步骤》本文详细介绍了在三台服务器上部署高可用Redis集群的完整流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、环境准备1. 服务器规划(3 台服务器)2. 防火墙配置(三台服务器均执行)3. 安装 docke

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res