DRF学习之token验证(十)

1.获取某分类下的商品

自定义过滤分类,增加过滤条件top_category_filter.用于过滤某个分类下的所有商品.

class GoodsFilter(django_filters.rest_framework.FilterSet):
    """
    商品的过滤类
    """

    pricemin = django_filters.NumberFilter(field_name='shop_price', help_text="最低价格",lookup_expr='gte')
    pricemax = django_filters.NumberFilter(field_name='shop_price', lookup_expr='lte')
    top_category = django_filters.NumberFilter(method='top_category_filter')

    #过滤逻辑
    #类别为1OR2OR3,Q查询之间是或的关系
    def top_category_filter(self, queryset, name, value):
        queryset = queryset.filter(Q(category_id=value) | Q(category__parent_category_id=value) | Q(category__parent_category__parent_category_id=value))
        return queryset


    class Meta:
        model = Goods
        fields = ['pricemin', 'pricemax', 'is_hot', 'is_new']

2.Authentication是将用户的登录进行验证的api

1.配置settings操作

在这里插入图片描述
INSTALLED_APPS中加入如下:
在这里插入图片描述

2.生成相应的表结构,user与token是一一对应的

在这里插入图片描述
在这里插入图片描述

3.设置urls

在这里插入图片描述
在这里插入图片描述

4.使用

如果在settings中的REST_FRAMEWORK中配置了token认证,那么会默认进行了全局认证,会将一些不需要认证的公共页面也进行拦截,所以我们只需要配置在接口里面就能进行单独页面的token认证。
所以可以在需要配置的页面的接口里配置:

authentication_classes = (TokenAuthentication, )

例如:会将goods的显示页面进行token认证功能
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值