如果不拆分应用,views.py和models.py文件过于臃肿,可以按照如下方法进行拆分,目录结构:
models必须是包(也就是存在__init__.py):
__init__.py文件内容:
from .gradeModel import * from .personModel import * from .studentModel import *
在定义model的类中加一个内部类Meta:
from django.db import models
from app.models import Grade
class Student(models.Model):
s_name=models.CharField(max_length=16)
s_grade=models.ForeignKey(Grade, on_delete=models.CASCADE)
class Meta:
app_label = 'Student'
views也是包
__init__.py文件内容:
from .person import *
services作为服务层,复杂的业务逻辑可以放到里面,通过view调用
整体目录结构: