Django——数据的增删改查,,如何创建表关系,,Django框架的请求生命周期流程图,,路由层,,有名分组与无名分组

数据的增删改查

如何创建表关系

Django框架的请求生命周期流程图

路由层

无名分组 有名分组

————————————————————————————————————————————————————————————————————————————————————————————————————

1. 用户列表的展示
# 把数据表中得用户数据都给查询出来展示在页面上
添加数据
id username password gender age action
修改 删除

2. 修改数据的逻辑分析
# 1. 先确定修改哪条记录------>怎么样确定修改哪条记录?
# 2. 通过什么字段可以确定唯一一条记录? 主键id,要携带主键id到后端.
# 3. 在后端接收主键id值,然后根据这个id值再去表中查询数据,查询一条
# 4. 然后把查询的数据在渲染到页面中,然后在修改
# 5. 把修改之后的表单提交到后端,在做修改

3. 删除功能的分析
# 1. 给删除按钮加一个链接,携带当前记录的id值
# 2. 后端要接收这个主键id值
# 3. 后端直接执行删除操作

如何创建表关系(一对一 一对多 多对多)

 

"""
一对一

一对多

多对多

没有关系

"""
图书表

出版社表

作者表

作者详情表

### 换位思考法判断表关系
图书表和出版社表 >>> 一对多 >>> 图书表是多,出版社是一 >>> 建在多的一方
图书表和作者表 >>> 多对多 >>> 需要第三张表
作者表和作者详情表 >>> 一对一 >>> 外键字段一般建在查询频率较高的

### 在Django中如何创建表关系
"""回头复习表关系"""
#######################################django1.x#######################################

class Book(models.Model):
title = models.CharField(max_length=64)
"""
max_digits=None,:总位数
decimal_places=None:小数位数
"""
# price decimal(8,2)
price = models.DecimalField(max_digits=8, decimal_places=2)
# publish_id = models.ForeignKey(to='Publish', to_field='id')
"""对于外键字段关系,会自动帮我们拼接_id"""
publish = models.ForeignKey(to='Publish')
"""authors它是一个虚拟字段,它不会实际在表中创建出来这个字段,这一句可以自动帮助我们创建出来第三张表"""
authors = models.ManyToManyField(to='Author')
"""出版社表"""
class Publish(models.Model):
name = models.CharField(max_length=64)
addr = models.CharField(max_length=64)


"""作者表"""
class Author(models.Model):
name = models.CharField(max_length=64)
author_detail = models.OneToOneField(to='AuthorDetail')

"""作者详情表"""
class AuthorDetail(models.Model):
phone = models.CharField(max_length=64)
email = models.CharField(max_length=64)

 

 

 

 

 

 

浏览器
发送请求(HTTP协议)

web服务网关接口
1.请求来的时候解析封装
响应走的时候打包处理

2.django默认的wsgiref模块不能承受高并发 最大只有1000左右
上线之后会替换成uwsgi来增加并发量

3.WSGI跟wsgiref和uwsgi是什么关系
WSGI是协议
wsgiref和uwsgi是实现该协议的功能模块

django后端
1.django中间件(暂时不考虑 后面讲)
类似于django的保安 门户

2.urls.py 路由层
识别路由匹配对应的视图函数

3.views.py 视图层
网站整体的业务逻辑

4.templates文件夹 模版层
网站所有的html文件

5.models.py 模型层
ORM
额外扩展:缓存数据库的作用

 

posted @ 2023-11-10 19:40  拆尼斯、帕丁顿  阅读(14)  评论(0)    收藏  举报