demo目錄 RestDemo ├── App │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ├── migrations │ ├── models.py 數據模型 │ ├── serializers.py 序列化模塊 │ ├── tests.py ...
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)