python django restful-api的设计

1:安装rest_framework并且放在INSTALL_APPS

pip install djangorestframework
pip install markdown
pip install django-filter

2:在url.py 添加

urlpatterns = [
    url(r'^api-auth', include('rest_framework.urls'))
]

3:在需要设置配置文件的地方需要做配置这里为配置文件取名为api.py,然后把配置文件导入到django 下面的setting.py 里面,分开写配置文件是方便查找和管理

REST_FRAMEWORK ={
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ]
}

4:序列化一个模板例子来看下具体的api获取的数据

首先model 我们使用比较简单的django的User

from rest_framework import serializers
from rest_framework.response import Response
from ...flow_chart.models import *
from rest_framework import viewsets


class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = (
            "username",
        )


class Example(viewsets.ModelViewSet):
    queryset = User.objects.filter(id__in=[1,2,3,4,5]).order_by('-created_datetime')
    serializer_class = UserTSerializer


    def list(self, request, *args, **kwargs):
        """
        返回任用户表
        :param request:
        :param args:
        :param kwargs:
        :return:
        """
        data = request.GET
        queryset = self.filter_queryset(self.get_queryset().
                                            filter(last_name='cxc'))
        for query in queryset:
            init_data = {
           

            }
            res['data'].append(init_data)
        return Response(res)

猜你喜欢

转载自my.oschina.net/u/2419889/blog/1789913