day61

1.内容回顾
1.昨日问题
1.request.GET(编辑功能)
request.GET是取URL里面的参数.和什么请求是没有关系的
2.ORM取数据
类名.objects.all() -->获取全部
类名.objects.get(条件) -->有且只能找到一个
类名.objects.filter(条件) -->可以找到多个,找不到也不报错
3.请求的流程

4.编辑完保存到数据库
.save()
5.HTML a标签href属性
1. 写绝对URL
2. 写相对URL(同网站之间跳转)
3. 锚点(同网页标签之间的跳转)
6.ORM创建字段
id = models.AutoField(primary_key=True) # ->创建一个自增的ID作为主键
email = models.CharField(max_length=24) # ->varchar(32)

2.内容回顾
出版社表的增删改查
查询
-ORM的all()查询
--模板语言的for循环
增加
-ORM.create()创建数据记录
-form表单的提交
删除
-ORM的.delete()删除操作
-a标签拼接href对应的URL
编辑
第一种:全部用form表单提交
把id字段隐藏到form表单里
第二种:把id拼接到URL中

ORM修改:
obj.属性 ='新值'
obj.save()


2.今日内容
图书管理系统
1.表结构设计
1.id title 出版社_id
2.SQL
create table book(
id int primary key auto_increment,
title varchar(30) not null,
press_id int not null,
constraint fk_press foreign ke(press_id) references press(id)
on delete cascade
on update cascade
)
3.ORM外键
press = models.ForignKey(to='Press', on_delete=models.CASCADE)

2.书籍的增删改查
1.查询
1.查询
1.book_obj.press --> ORM层面封装的,返回的是和我这本书关联的出版社对象
2.book_obj.press_id --> 数据库中真正存在的字段,保存的是和我关联的出版社id值
2.用select标签把已经存在的出版社在页面上展示出来
让用户去选择
使用的是:模板语言的for循环
3.删除
1.类似于昨天的操作
2.补充一个3秒中之后跳转到指定页面的操作
1.location.href
2.setTimeout()
3.setinterval
4.编辑
1.类似于昨天的操作
2.用select标签展示默认的出版社
1.Django模板语言中的if判断
{% if 条件 %}
...
{% else %}
...
{% endif %}


原文地址:https://www.cnblogs.com/jerry-hou/p/12390572.html