python - django rest framework 如何快速写API?

查看:117
本文介绍了python - django rest framework 如何快速写API?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

跟着官方的范例写了个API。发现有点啰嗦。必须要写一个序列器。再写一个view行为器, 然后路由就ok。这种对于从model取数据,还是很规范的。但是不从model取的数据,就感觉很啰嗦了。
比如一个api,需要从本地文件里,取一些数据。

class xx_Serializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = xx_model
        fields = ('id', 'username', 'email', 'is_staff')


class UserViewSet(viewsets.ModelViewSet):
    queryset = xx_model.objects.all()
    serializer_class = xx_Serializer

    def list(self, request, *args, **kwargs):
        return Response({"data":'balalalal'})

这样覆盖了 modelviewset的 get方法,就可以不从model取数据,但是代码会很冗余, django 这个框架能不能像flask那种写API的方式?。 一个函数就是一个API,感觉很方便。

解决方案

from rest_framework.views import APIView

#url写法
#url(r"^$", views.TestAPI.as_view())

class TestAPI(APIView):
    def get(self, request):
        data = [{'a':1}]
        return Response(data)
    
    def post(self, request):
        data = [{'b':1}]
        return Response(data)

这篇关于python - django rest framework 如何快速写API?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆