dJANGO RESTFRAMEWORK

1、filter_queryset

class ProductAdd(generics.ListCreateAPIView):

    queryset = Product.objects.all()
    serializer_class = ProductSerializer
    filter_fields = ("status", "sale_supplier")#传入参数过滤
    template_name = "product_add.html"
    permission_classes = (permissions.IsAuthenticated,)

    def get(self, request, *args, **kwargs):
        queryset = self.filter_queryset(self.queryset)#根据参数进行过滤
        page = self.paginate_queryset(queryset)
        ……

Authentication
授权
Auth needs to be pluggable.
认证需要是可插拔的!!
— Jacob Kaplan-Moss, "REST worst practices"

2、Request Response objects

REST框架介绍了request对象继承常规HttpRequest,提供更灵活的请求解析。请求对象的核心功能是request.data属性,这是类似于request.post,但对于Web API的工作更有用。

request.post #只处理表单数据. "post" only
request.data #处理任意数据。"post" "put" "patch"

REST框架还引入了一个response的对象

return Response(data)  # Renders to content type as requested by the client.

If you’re doing REST-based web service stuff … you should ignore request.POST.
— Malcom Tredinnick, Django developers group

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值