Django中的模型类设计及展示示例详解


Posted in Python onMay 29, 2020

django中设计数据模型类是基于ORM的对象关系映射更方便的进行数据库中的数据操作。

  • 对象关系映射
  • 把面向对象中的类和数据库表--对应,通过操作类和对象,对数表实现数据操作,不需要写sql,由ORM框架生成
  • django实现了ORM框架,在项目中与数据库之间产生桥梁作用
  • django数据库定义模型的步骤如下:
python manage.py makemigrations
python mange.py migrate
  • 在应用models.py中编写模型类,继承models.Model类
  • 在模型类中,定义属性,生成对应的数据库表字段
  • 属性名 = models.字段类型
  • 字段类型 -- 一旦修改类型就需要重新迁移

AutoField: 自动增长,通常不需要指定,django自动创建名为id的自动增长属性
CharField: 字符串,必须指定的参数: max_length 最大字符个数
TextFiled: 大文本字段,一般超过4000个字符
IntegerField: 整形
BooleanField: 布尔,支持Null,True
NullBooleanField: 支持Null,True,False
DateTimeField: 日期时间
FileField: 上传文件字段
ImageField: 继承与FileFiled,对上传的内容进行校验,确保是有效地图片
ForeignKey: 外键,建立一对多关系

from django.db import models

# Create your models here.

class Subject(models.Model):
 """学科模型类"""
 nu = models.AutoField(primary_key=True)
 name = models.CharField(max_length=20,verbose_name = '学科名称')
 intro = models.CharField(max_length=1000,verbose_name = '学科介绍')

 class Meta:
  db_table = 'tb_subject'
  verbose_name = '学科'
  verbose_name_plural = verbose_name

 def __str__(self):
  """定义数据对象的显示信息"""
  return self.name

Django中的模型类设计及展示示例详解

在pycharm终端中执行数据库建立迁移

python manage.py makemigrations

python manage.py migrate

migrations文件中会建立一个.py文件

我们可以通过django自带的admin后台来看见我们所创建的数据模型类。

Aadmin

使用时先创建一个用户名和密码

在pycharm终端中输入命令

python manage.py createsuperuser

根据提示输入用户名,邮箱,密码。

Django中的模型类设计及展示示例详解

并且在admin.py注册模型类 并且显示该有的数据列表

Django中的模型类设计及展示示例详解

然后开启django项目输入 http://127.0.0.1 :8000/admin/

用户名和密码填写

登陆进去后就会看到创建的数据模型

Django中的模型类设计及展示示例详解

点击add可以添加一些数据

会有你写的模型类

Django中的模型类设计及展示示例详解

因为刚才继承了SubjectAdmin类要求显示学科的信息。

Django中的模型类设计及展示示例详解

我们现在可以将模型数据映射视图,展示到html页面上。

在Views.py文件中使用Subject将数据集合拿到

Django中的模型类设计及展示示例详解

在templates文件夹中创建一个index.html文件

使用django模板中的for循环将数据插入到html页面中

Django中的模型类设计及展示示例详解

启动django,打开本地网址

Django中的模型类设计及展示示例详解

我们可以给页面添加照片可以使得页面更好看点

添加放置照片的文件夹在更目录的同级目录下

Django中的模型类设计及展示示例详解

并且在settings中对static文件夹路径加以说明

Django中的模型类设计及展示示例详解

在将html页面修改

添加照片路径

Django中的模型类设计及展示示例详解

然后启动django点击本地连接

Django中的模型类设计及展示示例详解

接下来可以再加入模型数据库,点击学科的时候可以展示那些老师以及老师的介绍。实现了数据的多对一或者一对多。

在models.py中建立老师的模型类

Django中的模型类设计及展示示例详解

在admin.py中注册老师得模型类

Django中的模型类设计及展示示例详解

进入admin后台,添加老师的一些数据

Django中的模型类设计及展示示例详解

现在点击科目,进入到老师的详情页,那的写html文件和修改urls.py

再templatels文件夹中建立teachers.html文件

Django中的模型类设计及展示示例详解

在书写views.py,

Django中的模型类设计及展示示例详解

然后点击科目获取老师数据

Django中的模型类设计及展示示例详解

Django中的模型类设计及展示示例详解

Django中的模型类设计及展示示例详解

django的简单项目关于模型的展示设计都完成啦!!!

总结

到此这篇关于Django中的模型类设计及展示示例详解的文章就介绍到这了,更多相关django模型类设计及展示内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python对字典进行排序实例
Sep 25 Python
Django中使用group_by的方法
May 26 Python
浅谈python中set使用
Jun 30 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
python实现从pdf文件中提取文本,并自动翻译的方法
Nov 28 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
Aug 24 Python
使用python计算三角形的斜边例子
Apr 15 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
python Protobuf定义消息类型知识点讲解
Mar 02 Python
python调试工具Birdseye的使用教程
May 25 Python
pytorch中的 .view()函数的用法介绍
Mar 17 Python
如何理解Python中包的引入
May 29 #Python
浅谈django channels 路由误导
May 28 #Python
Python如何实现FTP功能
May 28 #Python
python基于socket函数实现端口扫描
May 28 #Python
Python中and和or如何使用
May 28 #Python
Python如何安装第三方模块
May 28 #Python
python使用多线程+socket实现端口扫描
May 28 #Python
You might like
PHP得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
js实现右下角可关闭最小化div(可用于展示推荐内容)
2013/06/24 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
vue.js中created方法作用
2018/03/30 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
商务日语毕业生自荐信范文
2013/11/14 职场文书
支部鉴定材料
2014/06/02 职场文书
分公司经理任命书
2014/06/05 职场文书
绘画专业自荐信
2014/07/04 职场文书
管理工程专业求职信
2014/08/10 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python