第一步基本配置
创建项目:
在文件夹 输入cmd
黑框输入:django-admin startproject 项目名
1:
创建子应用:django-admin startapp 子应用名
在子应用setting :
首先是def框架 其次是跨域 最后是子应用名
'rest_framework',
'corsheaders',
'bumen',
2:中间件
加一个中间件:corsheaders.middleware.CorsMiddleware
3:注释 csrf中间件
4:CORS_ORIGIN_ALLOW_ALL = True (允许所有源访问)
模板不再需要配置,由前端语言渲染
5:配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': 'localhost',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '数据库密码',
'NAME': '数据库名'
}
}
6:创建数据库 时区 语言
7:配置数据库
同名文件夹下init:
import pymysql
pymysql.install_as_MySQLdb()
第二步创建模型类
1:创建模型类
(例)
class Department(models.Model):
dep_name = models.CharField(max_length=20,verbose_name='部门')
desc = models.CharField(max_length=20,verbose_name='描述')
class Meta:
verbose_name = '部门'
verbose_name_plural = verbose_name
db_table = 'department'
def __str__(self):
return self.dep_name
2:迁移
1:python manage.py makemigrations
2:python manage.py migrate
3:python manage.py createsuperuser
创建超级用户
python manage.py createsuperuser
输入用户 运行代码python manage.py runserver 最后:插入数据
第三步路由
子应用下创建urls文件
from django.urls import path
urlpatterns = [
]
同名文件下urls
from django.contrib import admin
from django.urls import path,include
from myapp import urls
urlpatterns = [
path('admin/', admin.site.urls),
path('',include(urls))
]
第四步编写序列化器
子应用下创建序列化器:serializers
1:导入序列化器from rest_framework import serializers
2:导入模型类from 子应用.models import 模型类
接下来对模型类编写序列化器
(例)在这里模型类继承serializers里的模型序列化器(ModelSerializer)
class 模型类Serializer(serializers.ModelSerializer):
class Meta:
model = 模型类 (映射的模型类)
fields = '__all__' (映射的字段)在这里映射所有字段
第五步视图(每个模型的增删查改做两个类视图)
from rest_framework.views import APIView
from rest_framework.response import Response
from myapp.models import 模型类
from myapp.serializers import +(EmployeeSerializer模型列的序列化器)
视图:
class DepartmentView(APIView):
def get(self,request):
departments =Department.objects.all()获取所有数据
ser = DepartmentSerializer(instance=departments, many=True)对ORM数据进行序列化 当多个数据是要写many=True
return Response(ser.data, status=200)
返回响应data字段 状态码
最后配置路由(外键序列化默认用id字段展示