View + django-rest-framework序列化

demo目录

RestDemo
├── App
│ ├── admin.py
│ ├── apps.py
│ ├── init.py
│ ├── migrations
│ ├── models.py ------------------------------------------------数据模型
│ ├── serializers.py ------------------------------------------------序列化模块
│ ├── tests.py
│ ├── urls.py
│ └── views.py ------------------------------------------------CBV(class base view) 视图函数
├── manage.py
└── RestDemo
​ ├── init.py
​ ├── settings.py
​ ├── urls.py
​ └── wsgi.py

model模块

from django.db import models

class UserModel(models.Model):
    username = models.CharField(max_length=32)
    age = models.IntegerField()

    class Meta:
        db_table = 'user'

serializers模块

# 创建序列化类
from rest_framework import serializers
from App.models import UserModel

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserModel
        fields = ('username', 'age')

views模块

from django.http import HttpResponse, JsonResponse

from django.views import View
from App.models import UserModel
from App.serializers import UserSerializer

class UserResource(View):
    def get(self, request):
        user = UserModel.objects.first()
        serializer = UserSerializer(user)
        return JsonResponse(serializer.data)

    def post(self, request):
        users = UserModel.objects.all()
        '对多个对象进行序列化时注意many'
        serializers = UserSerializer(users, many=True)
        '忽略安全性'
        return JsonResponse(serializers.data, safe=False)
posted @ 2018-12-25 22:38  Sajinchang  阅读(185)  评论(0编辑  收藏  举报