创建django项目
创建项目 django-admin startproject 项目名
配置drf & 中间件 & mysql 数据库
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'corsheaders',
'users'
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'daiyu',
'USER': 'root',
'PASSWORD': '8889',
'HOST': 'localhost',
'PORT': 3306,
}
}
配置静态文件
STATIC_URL = '/static/'
STATICFILES_DIRS= (os.path.join(BASE_DIR,'static'),)
创建django应用users
定义模型类
from django.db import models
# Create your models here.
# 基类
class BaseModel(models.Model):
created_time = models.DateTimeField("创建时间", auto_now_add=True)
updated_time = models.DateTimeField("更新时间", auto_now=True)
is_delete = models.BooleanField(default=False)
# 部门模型类
class Department(BaseModel):
name = models.CharField("部门",max_length=50)
class Meta:
db_table = 'department'
def __str__(self):
return self.name
# 职责模型类
class Duty(BaseModel):
name = models.CharField("工作职责",max_length=50)
def __str__(self):
return self.name
class Meta:
db_table = 'duty'
# 员工模型类
class Staff(models.Model): # 不能也继承BaseModel,会冲突
SEX_CHOICE = (
(1, '男'),
(0, '女')
)
name = models.CharField("姓名", max_length=30)
sex = models.SmallIntegerField("性别", default=1, choices=SEX_CHOICE) # choices选项
phone = models.CharField("手机号", max_length=11)
email = models.CharField("邮箱", max_length=50)
Department = models.ForeignKey(Department, on_delete=models.CASCADE)
Duty = models.ForeignKey(Duty, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Meta:
db_table = 'staff'
迁移模型类
python manage.py makemigrations
python manage.py migrate