- 1.创建项目
- 1.1创建django项目和应用
- 1.2安装数据库
- 1.3配置跨域和数据库
- 2.模型类
- 2.1编写模型类和迁移数据
- 2.2注册模型类并迁移
- 3.序列化器和视图
- 3.1序列化器
创建项目:django-admin startproject 项目名 创建子应用: python .manage.py startapp 应用名1.2安装数据库
在项目同名的文件夹下安装数据库
import pymysql pymysql.install_as_MySQLdb()1.3配置跨域和数据库
我们配置跨域简单来说有三点要求
1.使用跨域应用
2.在配置跨域中间件(再把CSRF注释了)
3.最后再设置允许所有源访问
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework', # drf框架
'corsheaders', # 1.跨域
'student', # 子应用
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'corsheaders.middleware.CorsMiddleware', # 2.跨域中间件
]
CORS_ORIGIN_ALLOW_ALL = True # 3.跨域 允许所有源访问
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': 'localhost',
'PORT': 3306,
'USER': 'root',
'PASSWORD': 'root',
'NAME': 'student',
}
}
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
2.模型类
2.1编写模型类和迁移数据
模型类与之前的没有差别,前后连调不需要改动模型类
from django.db import models
# Create your models here.
class Teacher(models.Model):
tea_name = models.CharField(max_length=20, verbose_name='老师姓名')
class Meta:
verbose_name = '老师表'
verbose_name_plural = verbose_name
db_table = 'teacher'
def __str__(self):
return self.tea_name
class Student(models.Model):
stu_name = models.CharField(max_length=20, verbose_name='学生姓名')
score = models.IntegerField(verbose_name='成绩')
sex = models.CharField(max_length=5, verbose_name='性别')
teacher = models.ForeignKey(to=Teacher, on_delete=models.CASCADE, verbose_name='老师')
class Meta:
verbose_name = '学生表'
verbose_name_plural = verbose_name
db_table = 'student'
def __str__(self):
return self.stu_name
2.2注册模型类并迁移
创建好模型类要注册,不然创建模型类不会显示
from django.contrib import admin from student.models import Teacher,Student # Register your models here. admin.site.register(Teacher) admin.site.register(Student)
最后再执行迁移文件,把文件迁移到数据库里面,最后创建超级用户添加测试数据
生成迁移文件:python .manage.py makemigrations
执行迁移:python .manage.py migrate
创建超级用户:python .manage.py createsuperuser
在子应用下新建文件serializers.py文件,添加以下代码:
class TeacherSerializer(serializers.ModelSerializer):
class Meta:
model = Teacher
fields = '__all__'
class StudentSerializer(serializers.ModelSerializer):
class Meta:
model = Student
fields = '__all__'



