Django model、view拆分,添加service
如果不拆分应用,views.py和models.py文件过于臃肿,可以按照如下方法进行拆分,目录结构:
models必须是包(也就是存在__init__.py):
__init__.py文件内容:
from .gradeModel import *
from .personModel import *
from .studentModel import *
在定义model的类中加一个内部类Meta:
from django.db import modelsfrom app.models import Gradeclass 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调用
整体目录结构:
转载于:https://www.cnblogs.com/winstonsias/p/11547878.html
Django model、view拆分,添加service相关推荐
- Django Model View Template 之间的简单交互 (二)
前言 接续前文,上一篇文章主要涉及了 Django 项目的基础配置等,这篇主要涉及数据库相关的 ORM ,也就是 Django 中的 Model 的使用,MVT 三层之间的交互 教程基本都是东拼西凑的 ...
- Django——model基础
ORM 映射关系: 表名 <-------> 类名字段 <-------> 属性表记录 <------->类实例对象 创建表(建立模型) 实例:我们来假定下面这些概 ...
- Django Model设计详解
Django Model 设计 Django Model设计是Django五项基础核心设计之一(Model设计,URL配置,View编写,Template设计,From使用),也是MVC模式中重要的环 ...
- QT Model/View 编程:MVC模型视图编程:实例实现(二)
目录 样例001:现有模型中使用视图Using views with an existing model 样例002:使用模型索引 样例003:使用模型 样例004:使用模型的多个视图 样例005:委 ...
- Qt Model/View 学习笔记 (四)
创建新的Models 介绍 model/view组件之间功能的分离,允许创建model利用现成的views.这也可以使用标准的功能 图形用户接口组件像QListView,QTableView和Q ...
- 使用ASP.NET实现Model View Presenter(MVP)
作者:Billy McCafferty 翻译:张善友<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office: ...
- django model
本文一篇完全介绍django的最重要的model 6.django model 模型是数据唯一而且准确的信息来源.它包含正在储存的数据的重要字段和行为.一般来说,每一个模型都映射一个数据库表. 这个模 ...
- Qt学习笔记-----Model/View架构之自定义Model
Model/View Framework中提供了模型model的抽象基类QAbstractItemModel, 如果需要自定义模型就需要继承这个类并且实现一些必要的函数. 此外,Qt中又提供了QAbs ...
- django model数据 时间格式
from datetime import datetime dt = datetime.now() print '时间:(%Y-%m-%d %H:%M:%S %f): ' , dt.strftime( ...
- Django的View(视图)
Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误, ...
最新文章
- Android LinearLayout的android:layout_weight属性
- 开发日记-20190422 关键词 插件化(1)概述
- Python max() 函数
- MFC Windows 消息发送顺序
- samba 端口_无需公网IP,易有云支持SAMBA远程连接家里设备
- PHP在金山游戏运营中的应用
- WCF学习之旅—第三个示例之四(三十)
- 减少系统进程【ZT】
- 安装Ubuntu系统后的配置工作
- 寒江独钓——win内核编程读书笔记-1
- 【Python精彩案例】随拍文档转PDF扫描版
- 疯了! Python 成功预测前三场比赛,快看今天的?(附代码及比赛时间表)
- 萌言萌语|测试工作日报及总结
- 等额本息和等额本金实现步骤
- js操作图片像素进行编辑
- 长文:读《经济学32定律》
- AndroidIOS APP启动速度专项测试方法
- 【智慧农业】智慧温室建造流程
- 温故知新(五)——三参数陷波滤波器离散化推导及MATLAB实现
- eclipse如何修改工作空间名称