1.新建项目修改配置文件
# 1.注册rest_framework、app
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 注册rest_framework、app
'rest_framework',
'member'
]
# 2.修改数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'family', # 数据库名
'USER': 'root', # 账号
'PASSWORD': 'root', # 密码
'HOST': '127.0.0.1', # HOST
'POST': 3306, # 端口
}
}
# 3.在__iniy__.py中引入 mysql 驱动
import pymysql
pymysql.install_as_MySQLdb()
2. 新建模型层
from django.db import models
# Create your models here.
class Member(models.Model):
name = models.CharField(max_length=64)
sex = models.CharField(max_length=4)
age = models.CharField(max_length=32)
birthday = models.DateField(max_length=64)
def __str__(self):
return self.name
3. 序列化器
from rest_framework import serializers
from member.models import Member, Book
class MemberSerializer(serializers.ModelSerializer):
class Meta:
model = Member
fields = ('id', 'name', 'sex', 'age', 'birthday')
4.试图层
from rest_framework import viewsets, status
from rest_framework.response import Response # 自定义响应
from member.models import Member, Book
from member.serializers import BookDetailSerializer, MemberSerializer, BookSerializer
from django.db.models import Avg # , Max, Min, Count, Sum 引入函数
# Create your views here.
class MemberViewSet(viewsets.ModelViewSet):
queryset = Member.objects.all().order_by('name')
serializer_class = MemberSerializer
5.注册路由
from django.urls import include, path
from rest_framework import routers
from . import views
router = routers.DefaultRouter()
router.register(r'familymember', views.MemberViewSet) # 注册路由到ManViewSet视图
urlpatterns = [
path('', include(router.urls)), # 使用router路由
path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]
父工程也要注册
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('member/', include('member.urls'))
]