DRF用户权限和Django发送邮件、itsdangerous模块的使用

本文介绍了如何在DRF中设置全局和单个视图的用户权限,详细讲解了Django发送邮件的配置与实现,包括在settings.py和serializers.py中的操作。同时,探讨了itsdangerous模块的使用,包括加密和解密token的过程。此外,还阐述了一个完整的发送验证邮件的逻辑,包括生成加密token、激活邮箱的视图处理和用户信息解密。
摘要由CSDN通过智能技术生成

DRF的用户权限

看官方文档:https://www.django-rest-framework.org/api-guide/permissions/

全局设置权限

DEFAULT_PERMISSION_CLASSES用来设置默认权限策略

REST_FRAMEWORK = {
   
    'DEFAULT_PERMISSION_CLASSES': (
    	# 默认都需要登录验证
        'rest_framework.permissions.IsAuthenticated',
    )
}

如果未指定,则此设置默认为允许不受限制的访问:

'DEFAULT_PERMISSION_CLASSES': (
   'rest_framework.permissions.AllowAny',
)

单个视图设置

APIView:

from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework.views import APIView

class ExampleView(APIView):
    permission_classes = (IsAuthenticated,)

    def get(self, request, format=None):
        content = {
   
            'status': 'request was permitted'
        }
        return Response(content)

或者,如果您使用的是@api_view具有基于功能的视图的装饰器。

from rest_framework.decorators import api_view, permission_classes
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response

@api_view(['GET'])
@permission_classes((IsAuthenticated, ))
def example_view(request, format=None):
    content = {
   
        'status': 'request was permitted'
    }
    return Response(content)

Django的发送邮件功能

需要开通邮箱里的POP3/SMTP服务,以qq邮箱为例:在设置-账户里开通

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值