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中os.path用法分析
Jan 15 Python
Python中使用gzip模块压缩文件的简单教程
Apr 08 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
Python使用import导入本地脚本及导入模块的技巧总结
Aug 07 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 Python
python计算无向图节点度的实例代码
Nov 22 Python
如何在mac环境中用python处理protobuf
Dec 25 Python
关于Pytorch的MLP模块实现方式
Jan 07 Python
PyQt5 如何让界面和逻辑分离的方法
Mar 24 Python
django实现模板中的字符串文字和自动转义
Mar 31 Python
Python os库常用操作代码汇总
Nov 03 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 download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
python3中bytes和string之间的互相转换
2017/02/09 Python
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
分布式数据库需要考虑哪些问题
2013/12/08 面试题
办公室驾驶员岗位职责
2013/11/15 职场文书
会计学自荐信
2014/06/03 职场文书
励志演讲稿大全
2014/08/21 职场文书
自愿离婚协议书范本
2014/09/13 职场文书
教师节领导致辞
2015/07/29 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL
Java获取字符串编码格式实现思路
2022/09/23 Java/Android