9.7 Django 书单列表页面
昨天的迭代版本,增加了编辑出版社,编辑列表,增添了返回页面!
具体的看 github : https://github.com/TrueNewBee/pythonDemo
看一下效果图:





整体来说还是很完美的!明天可以更优化一下添加一下作者!!
连表操作同时修改信息 有个难点

这是下拉框的难点,根据选中的书名id 找到对应外键的出版社

和昨天的内容都差不多!所以直接贴上笔记!
一下午过去了用心去学了!2018-9-7 17:06:35
Django还是很好玩的
day63 2018-05-03 1. 内容回顾
1. 单表的增删改查
1. 删和改
1. GET请求 URL传值
1. 格式
127.0.0.1:8000/delete_publisher/?name=alex&id=7
2. Django后端取值
request.GET --> 大字典
request.GET["name"]/request.GET["id"] --> key不存在就报错了
request.GET.get("name", "sb") --> 推荐用这个方法取值 2. 复习一下POST方法提交的数据怎么取:
request.POST.get("key")
3. ORM操作
1. 删除
1. 先找到对象,调用对象的.delete()方法
publisher_obj = models.Publisher.objects.get(id=7)
publisher_obj.delete()
或者
models.Publisher.objects.get(id=7).delete() 2. 修改
1. 找到对象,通过修改对象的属性来修改数据库中指定字段的值,要保存
publisher_obj = models.Publisher.objects.get(id=7)
publisher_obj.name = "新的出版社名字"
publisher_obj.save() --> 把修改提交到数据库 2. GET和POST
1. GET请求:
1. GET请求携带的数据都拼在了URL上
2. GET请求携带的数据有长度限制 40k
2. POST请求
1. form表单提交数据
2. 上传文件 3. 几个GET请求具体的应用场景:
1. 浏览器地址栏直接输入URL
2. 点击a标签
3. 搜索引擎检索
3. request相关的知识点
1. request.method
1. GET
2. POST
2. request.POST --> 所有和post请求相关的数据
3. request.GET --> 所有和GET请求相关的数据 2. 今日内容
1. 图书管理系统表结构设计
图书管理系统的三种角色
1. 出版社
2. 书
3. 作者
总结关系:
1. 一本书 只能 有一个出版社
2. 一本书 能有 多个作者
3. 一个作者 能写 多本书 出版社和书: 一对多 --> 外键
书和作者: 多对多 --> 用第三张表做关联 表结构图在excel中: 2. 查看书籍列表
3. 添加书籍
将所有的出版社在页面上以select标签的形式展示出来
4. 删除书籍
如何在后端获取要删除的是那一个书籍?
通过URL传参数的形式
5. 编辑书籍
将所有的出版社在页面上以select标签的形式展示出来
将当前编辑的书籍对象的书名和出版社在页面上展示出来
9.7 Django 书单列表页面的更多相关文章
- 9.8Django书单列表3.0
2018-9-8 19:03:17 我暂且叫书单商城吧 更加优化了一下 这个网站有好多的样式前端的福利 https://v3.bootcss.com/ 3.0版本 放在了github :htt ...
- activiti自定义流程之自定义表单(三):表单列表及预览和删除
注:(1)环境配置:activiti自定义流程之自定义表单(一):环境配置 (2)创建表单:activiti自定义流程之自定义表单(二):创建表单 自定义表单创建成功,要拿到activiti中使用,自 ...
- django表单验证和跨站伪造csrf
Form验证 django中的Form一般有两种功能: 输入html 验证用户输入 django使用内置form方法验证表单提交的数据 html页面 <!DOCTYPE html> < ...
- python 全栈开发,Day114(装饰器,排序规则,显示列,添加按钮,定制ModelForm,自定义列表页面,自定制URL)
一.装饰器 装饰器本质上就是一个python函数,他可以让其他函数在不需要做任何代码变动的前提下,增加额外的功能,装饰器的返回值也是一个函数对象. 装饰器的应用场景:比如插入日志,性能测试,事务处理, ...
- python 全栈开发,Day111(客户管理之 编辑权限(二),Django表单集合Formset,ORM之limit_choices_to,构造家族结构)
昨日内容回顾 1. 权限系统的流程? 2. 权限的表有几个? 3. 技术点 中间件 session orm - 去重 - 去空 inclusion_tag filter 有序字典 settings配置 ...
- django中表单处理
在web端与后端交互时,我们除了使用html原生的form标签,还可以使用django自带的表单. Django 提供广泛的工具和库来帮助你构建表单来接收网站访问者的输入,然后处理以及响应输入. HT ...
- django使用表单
假设你想从表单接收用户名数据,一般情况下,你需要在HTML中手动编写一个如下的表单元素: <form action="/your-name/" method="po ...
- 用webdriver模仿浏览器 爬取豆瓣python书单
用webdriver模仿浏览器 爬取豆瓣python书单 其中运用到os 模块 作用是生成文件夹 存储爬取的信息 etree 用于xpath解析内容 详细代码如下 可用我的上一篇博客存取到excel当 ...
- 第四章:Django表单 - 1:使用表单
假设你想从表单接收用户名数据,一般情况下,你需要在HTML中手动编写一个如下的表单元素: <form action="/your-name/" method="po ...
随机推荐
- 小波变换——哈尔小波,Haar
哈尔小波转换是于1909年由Alfréd Haar所提出,是小波变换(Wavelet transform)中最简单的一种变换,也是最早提出的小波变换. Alfréd Haar,1885~1933,匈牙 ...
- 【2018年12月10日】A股最便宜的股票
新钢股份(SH600782) - 当前便宜指数:196.21 - 滚动扣非市盈率PE:2.86 - 动态市净率PB:0.95 - 动态年化股息收益率:1.78% - 新钢股份(SH600782)的历史 ...
- Struts2_day02讲义_使用Struts完成对客户的新增操作
- 8 -- 深入使用Spring -- 7...1 启动Spring 容器
8.7.1 启动Spring容器 对于使用Spring的Web应用,无须手动创建Spring容器,而是通过配置文件声明式地创建Spring容器.因此,在Web应用中创建Spring容器有如下两种方式: ...
- scala akka Future 顺序执行 sequential execution
对于 A => B => C 这种 future 之间的操作,akka 默认会自动的按照顺序执行,但对于数据库操作来说,我们希望几个操作顺序执行,就需要使用语法来声明 有两种声明 futu ...
- Go之对象拷贝
这里interface{}就相当于c#,java中的object, boy := util.Boy{util.Person{"Eric", 19, "boy"} ...
- c#事件Unity与.Net对比
今天在看Unity3d的书,发现上面的调用事件比较特殊,比如说按钮事件 该方法写在OnGUI方法中if(GUILayout.Button("按钮1")) { //执行事件的处理 } ...
- iOS开发之-- 字符串的操作,去掉某一个字符或者替换成其他字符
一个简单的操作,记录下: NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" " withS ...
- mysql的联表删除
联表删除: 1.从数据表t1 中把那些id值在数据表t2 里有匹配的记录全删除掉 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或DELETE FROM t1 ...
- tomcat端口被占用的两个解决方法
tomcat 的 8080 端口经常会被占用,解决办法两个: 1.关闭占用8080端口的进程:8080端口被占用的话执行startup.bat会报错,可在cmd下执行netstat -ano命令查看8 ...