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
在pycharm终端中执行数据库建立迁移
python manage.py makemigrations
python manage.py migrate
migrations文件中会建立一个.py文件
我们可以通过django自带的admin后台来看见我们所创建的数据模型类。
Aadmin
使用时先创建一个用户名和密码
在pycharm终端中输入命令
python manage.py createsuperuser
根据提示输入用户名,邮箱,密码。
并且在admin.py注册模型类 并且显示该有的数据列表
然后开启django项目输入 http://127.0.0.1 :8000/admin/
用户名和密码填写
登陆进去后就会看到创建的数据模型
点击add可以添加一些数据
会有你写的模型类
因为刚才继承了SubjectAdmin类要求显示学科的信息。
我们现在可以将模型数据映射视图,展示到html页面上。
在Views.py文件中使用Subject将数据集合拿到
在templates文件夹中创建一个index.html文件
使用django模板中的for循环将数据插入到html页面中
启动django,打开本地网址
我们可以给页面添加照片可以使得页面更好看点
添加放置照片的文件夹在更目录的同级目录下
并且在settings中对static文件夹路径加以说明
在将html页面修改
添加照片路径
然后启动django点击本地连接
接下来可以再加入模型数据库,点击学科的时候可以展示那些老师以及老师的介绍。实现了数据的多对一或者一对多。
在models.py中建立老师的模型类
在admin.py中注册老师得模型类
进入admin后台,添加老师的一些数据
现在点击科目,进入到老师的详情页,那的写html文件和修改urls.py
再templatels文件夹中建立teachers.html文件
在书写views.py,
然后点击科目获取老师数据
django的简单项目关于模型的展示设计都完成啦!!!
总结
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 伍佰.2002-冬之火九重天演唱会特选录音专辑2CD【滚石】【WAV+CUE】
- 李宗盛1996《李宗盛的凡人歌2CD》滚石[WAV+CUE][1G]
- 刘德华 《天意》1:1直刻黑胶LPCD[WAV+CUE][1.1G]
- 刘德丽2024《赤的疑惑HQCD》头版限量编号MQA[低速原抓WAV+CUE]
- 英雄联盟万圣节有什么皮肤返场 2024万圣节皮肤返场一览
- lol万圣节赠礼活动什么时候开始 2024万圣节活动时间介绍
- 2024全球总决赛blg是全华班吗 全球总决赛blg选手所属国家介绍
- 《LOL》S14半决赛:T1战胜GEN晋级决赛!对决BLG
- 《完蛋美女前传》白白演员抱怨:都没人玩我的线
- 玩家热议OLED屏对画面提升巨大:比PS5 Pro值得买
- PatriciaPaay-TheLadyIsAChamp(ExpandedEdition)(2024)[24Bit-96kHz]FLAC
- 尚士达.2024-莫回头【智慧小狗】【DTS-WAV分轨】
- 区瑞强-黄金时代HQCDII头版限量wav
- 孙露《终于等到你》[WAV分轨][488M]
- 张信哲《歌时代》 潮水音乐 [WAV+CUE]