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实现目录树生成示例
Mar 28 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
Aug 07 Python
python结合shell查询google关键词排名的实现代码
Feb 27 Python
Python函数式编程
Jul 20 Python
Python3读取Excel数据存入MySQL的方法
May 04 Python
Tensorflow使用支持向量机拟合线性回归
Sep 07 Python
python安装requests库的实例代码
Jun 25 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
Dec 08 Python
详解Flask开发技巧之异常处理
Jun 15 Python
浅析Python OpenCV三种滤镜效果
Apr 11 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入门速成(2)
2006/10/09 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
简单的php文件上传(实例)
2013/10/27 PHP
php去除头尾空格的2种方法
2015/03/16 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
AngularJS中取消对HTML片段转义的方法例子
2015/01/04 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
Python Tensor FLow简单使用方法实例详解
2020/01/14 Python
django中嵌套的try-except实例
2020/05/21 Python
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
关于人生的感言
2014/01/17 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
技能比武方案
2014/05/21 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
杭白菊导游词
2015/02/10 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
python中__slots__节约内存的具体做法
2021/07/04 Python