五、Django基于对象的跨表查询
六、基于对象的跨表查询 正向与反向查询 关键在于ForeignKey字段写的位置。例如下面这段代码, 关系属性(字段)写在哪个类(表)里面,从当前类(表)的数据去查询它关联类(表)的数据叫做正向查询,反之叫做反向查询 Publish查询Book的内容就是反向查询 Book查询Publish的内容就是正向查询 123456789101112131415161718class Publish(models.Model): name=models.CharField( max_length=32) city=models.CharField( max_length=32) email=models.EmailField() #charfield -- asdfasdf def __str__(self): return self.name#书籍表class Book(models.Model): nid = models.AutoField(primary_key=True) title = models.CharField( m ...
四、Django关系表字段介绍
关系表介绍及使用 一对一关系 12xx = models.OneToOneField(to='表名',to_field='字段名',on_delete=models.CASCADE) #on_delete:删除时的一些级联效果,to_field可以不写,默认是关联到另一张表的主键,on_delete在1.x版本的django中不用写,默认是级联删除的,2.x版本的django要写. 增加数据 方式1 123456789101112new_author_detail = models.AuthorDetail.objects.create( birthday='1979', telephone='138', addr='black' ) # 方式1 models.Author.objects.create( name='王涛', age=18, #直接将对象赋 ...
三、Django查询表记录
查询接口 all() 查询所有结果,结果是queryset类型 filter(**kwargs) and条件关系:参数用逗号分割表示and关系 1234models.Student.objects.filter(id=1,name='dazhuang').update( name='大壮禅师', age = 78,) 其中filter的参数也可以通过字典方式传入 12odels.Student.objects.filter(**{'id':7,'name':'大壮禅师'}).update(age=100)models.Student.objects.all().filter(id=7) #queryset类型可以调用fitler在过滤 get(**kwargs) 返回与所给筛选条件相匹配的对象,不是queryset类型,是行记录对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。捕获异常try。 Book.object ...
二、Django简单的增删改查
增加数据 第一种方式 12345678910def index(request): #创建记录方式1 #实例化要添加的记录(对象) student_obj = models.Student( name='dazhuang', age=23, ) #自动刷新并存储到数据库 student_obj.save() return render(request,'index.html') 第二种方式 常用方法 1234567def index(request): #创建记录方式2 # new_obj为返回值,返回这个类的对象 (model对象) new_obj = models.Student.objects.create(name='xiaozhuang',age=5) print(new_obj.name) print(new_obj.age) return render(request,'index.html& ...
一、Django连接与建立数据库
Django连接与建立数据库 连接MySQL数据库 配置文件 找到DATABASES对应的设置,修改为MySQL的配置即可 12345678910DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'bms', # 要连接的数据库,连接前需要创建好 'USER':'root', # 连接数据库的用户名 'PASSWORD':'', # 连接数据库的密码 'HOST':'127.0.0.1', # 连接主机,默认本级 'PORT':3306 # 端口 默认3306 ...
Linux安装Python和pip环境
下载安装包 https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz 建议使用迅雷下载 上传压缩包后解压 tar -zxvf Python-3.6.9.tgz 然后进入目录 cd Python-3.6.9 安装依赖关系 1yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y gcc :c编译器 python-devel python 开发包 openssl-devel 用于pythn的ssl模块 sqlite-devel 轻量级数据库 制定安装路径 1./configure --prefix=/opt/python/ prefix后边加的 ...
前端课程——HTML与CSS中的文本
HTML与CSS中的文本 结构化元素 结构化元素就是指 HTML 元素中具有明确含义和作用的元素,例如 `` 元素表示段落。相对于 HTML 4.01 版本而言,HTML5 版本新增了一系列结构化元素。 HTML4.01版本的结构化元素 名称 代码 标题元素 <h1>~<h6> 段落元素 <p> 粗体元素 <b> 斜体元素 <i> 上标/下标元素 <sup>/<sub> 换行符 <br> 水平线元素 <hr> HTML5新增的结构元素 <article> 元素 <section> 元素 <nav> 元素 <aside> 元素 <header> 元素 <main> 元素 <footer> 元素 HTML4中的元素 标题元素 HTML 标题元素具体是指<h1>~<h6>元素,其呈现了 6 个不同级别的标题,<h1&g ...
前端课程——颜色与单位
颜色与单位 有关颜色的相关概念 色调:很接近通俗意义上的颜色。 图像的相对明暗程度,在彩色图像上表现为颜色(简单的理解为颜色) 饱和度:是指颜色中灰色的含量。 色彩的纯洁性(颜色中灰色的含量),也叫饱和度/彩度。 亮度:是指颜色中黑色的含量。 发光体的光源面积之比(黑色的含量) 对比度:前景色与背景色之间的差异。 明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,差异范围越小代表对比越小。 Web 安全色:不需要担心颜色在不同硬件环境、操作系统和浏览器之间的差异。 不必担心因不同硬件(浏览器)而造成的颜色不同。Web 安全色目前基本具有 216 种颜色,其中色彩为 210 种(开发时使用的颜色),非色彩为 6 种。 关于 Web 安全色的具体颜色以及值,可以参考 https://www.bootcss.com/p/websafecolors/。 前景色与背景色 CSS 中的前景色和背景色就是 color 和 backgorund-color 两个属性,其中 color 属性表示前景色,background-color 属性表示背 ...
前端课程——CSS选择器
css选择器 什么是选择器 CSS 选择器的作用是按照 CSS 规则定位 HTML 页面的一个或多个元素。浏览器在解析 HTML 页面时,会根据 CSS 规则中的选择器定位 HTML 页面的元素,并为对应的元素设定样式。 选择器的分类 基本选择器:共有 5 个基本选择器,是 CSS 选择器的最为基本的用法。 层级选择器:共有 4 个层级选择器,是根据 HTML 元素之间的关系来定位 HTML 元素。 组合选择器:具有交集和并集两种用法,是将之前基本选择器和层级选择器进行组合。 伪类选择器:允许未包含在 HTML 页面中的状态信息选定位 HTML 元素。 伪元素选择器:定位所有未被包含 HTML 的实体。 基本选择器 类型(Type)选择器(有些中文资料中称为“元素选择器”) 简单来说,就是元素选择器 1234div { color: lightcoral; font-size: 24px; } 类(Class)选择器 类名选择器,以.区分,对应的名称是标签中指定的class名 1234.demo { ...