Django(图书管理系统1)
day63
内容回顾
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") --> 推荐用这个方法取值 或者request.GET.get("name", "None") 取不到也不报错
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请求相关的数据
================================================================================
今日内容:
1. 图书管理系统表结构设计
图书管理系统的三种角色
1. 出版社
2. 书
3. 作者
总结关系:
1. 一本书 只能 有一个出版社
2. 一本书 能有 多个作者
3. 一个作者 能写 多本书
出版社和书: 一对多 --> 外键
书和作者: 多对多 --> 用第三张表做关联
表结构图在excel中: 
book管理系统中涉及外键的问题:


models.py中写好后不用自己输入命令行命令。

编辑图书:

详见老男孩第九期day63
Django(图书管理系统1)的更多相关文章
- Django——图书管理系统
基于Django的图书管理系统 1.主体功能 1.列出图书列表.出版社列表.作者列表 2.点击作者,会列出其出版的图书列表 3.点击出版社,会列出旗下图书列表 4.可以创建.修改.删除 图书.作者.出 ...
- Django图书管理系统(前端对数据库的增删改查)
图书管理系统 出版社的管理 源码位置:https://gitee.com/machangwei-8/learning_materials/tree/master/%E9%A1%B9%E7%9B%AE/ ...
- django 图书管理系统
一.图书管理系统 单表的增删改查 1.创建项目 2.注释掉中间件 就可以提交post 请求 3.配置静态文件 并手动创建static 文件夹存放静态文件 二.具体的数据库配置 1.创建数据库 2. ...
- Django图书管理系统(前端对有外键的数据表增删改查)
图书管理 书籍管理 book name 项目源码位置:https://gitee.com/machangwei-8/learning_materials/tree/master/%E9%A1%B9%E ...
- django图书管理系统实例
首页,其他页面全部继承首页的上半部分 点击发布图书页面 首页点击书名,跳转到图书信息界面,该界面可删除图书 项目结构 #views.py from django.shortcuts import re ...
- Django(图书管理系统2)
day64 内容回顾 1. ORM外键操作 图书表和出版社表 多对一 的关系 # 书 class Book(models.Model): ...
- Django图书管理系统(单表操作)
以下内容需要掌握: Python3 以及前端:HTML,CSS,jQuery,BootStrap,Django,JavaScript 开启Django新项目: 1,settings.py 数据库选择: ...
- Django练习——图书管理系统
Django图书管理系统 创建一个项目 1. django-admin startproject 图书管理 2. cmd 命令终端下创建一个app python manage.py startapp ...
- 在Django中使用ORM创建图书管理系统
一.ORM(对象关系映射) 很多语言的web框架中都有这个概念 1. 为什么要有ORM? 1. 写程序离不开数据,要使用数据就需要连接数据库,但是不同的数据库在sql语句上(mysql,oracle等 ...
随机推荐
- POJ1180 Batch Scheduling -斜率优化DP
题解 将费用提前计算可以得到状态转移方程: $F_i = \min(F_j + sumT_i * (sumC_i - sumC_j) + S \times (sumC_N - sumC_j)$ 把方程 ...
- 抽象 abstract 和 接口 interface。 java 的 堆 和 栈。 参数传递(基本类型和普通对象的区别)
package com.test; import com.test.Pro; //protected 修饰的成员只能在本包中和 继承该类的方法中使用 public abstract class Tes ...
- Metro Revealed: Building Windows 8 apps with XAML and C# 阅读笔记
第一章1.1.3中提到 Jesse Liberty 的<Pro Windows 8 Development with XAML and C#>,这是一本关于win8更全面的书,以后看.
- java利用递归实现汉诺塔算法
package 汉诺塔; //引入Scanner包,用于用户输入 import java.util.Scanner; public class 汉诺塔算法 { public static void m ...
- 前端之css笔记3
一 display属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- idea开发工具下报Set language level to 6-@Override in interfaces的解决方法
idea开发工具下报Set language level to 6-@Override in interfaces的解决方法 实现接口时报如下错误:Set language level to 6-@O ...
- 2018.09.19 atcoder AtCoDeer and Election Report(贪心)
传送门 很有意思的一道贪心. 就是每次翻最小的倍数来满足条件. 代码: #include<bits/stdc++.h> #define ll long long using namespa ...
- k8s的port、targetport、nodeport之间的区别
先看举例: k8s集群中跑着一个tomcat服务,tomcat容器expose的端口为8080 apiVersion: v1 kind: Service metadata: name: tomcat- ...
- php mysql增删查改
php mysql增删查改代码段 $conn=mysql_connect('localhost','root','root'); //连接数据库代码 mysql_query("set na ...
- x11vnc配置--ubuntu14.04
x11vnc是连接到真实的X会话,相比vnc4server和tightvncserver自己创建不同分辨率的xserver来说,画面延时和显示效果应该要好一些.两种服务都试过,个人感觉x11vnc要好 ...