day54 django中orm数据库增删改查

news/2025/2/22 15:54:14/

昨日内容回顾

三板斧问题
HttpResponse        # 返回的是字符串
render              # 渲染一个HTML静态文件,模板文件
redirect            # 重定向的
​
"""在视图文件中得视图函数必须要接收一个形参request,并且,视图函数也要有返回值:HttpResponse对象"""
配置文件
settings.py文件就是Django框架的全局文件
注册应用
database
templates
调试模式
静态文件的配置
语言的修改
时区的修改
静态文件的配置
静态文件是什么?cssjsimg第三方的前端框架第三方工具# 我们一般把HTML的静态文件放在templates文件夹下,静态文件放在哪里呢? 一般放在static文件夹
我们要手动的帮助我们创建static文件夹
staticcssjsimg...
​
# 还需要在配置文件中配置一些数据
STATIC_URL='/static/'
​
STATICFILES_DIRS=[os.path.join(BASE_DIR,'static'),os.path.join(BASE_DIR,'static1'),os.path.join(BASE_DIR,'static2')
]
​
## 前端页面中得路劲
/static/css/my.css
​
## 动态解析
{% load static %}
{% static 'css/my.css' %}
​
# 千万不要按照前端里的路径查找方法了
request对象的方法
request.method # 潘墩请求方式的  GET POST
request.POST.get()
request.POST.getlist()
request.GET.get()
request.GET.getlist()
django链接MySQL
1. 在配置文件中配置一个数据
DATABASES={'NAME':'HOST':'PORT':'USER':'PASSWORD':'CHARSET':
}
​
2. 在任意的__init__文件中条件两句话
import pymysql
pymysql.install_as_mysqldb()
​
3. opertions.py-------->会报错
decode------->encode
orm简介
对象映射模型
类-------->表名
对象-------->记录
属性-------->字段
​
# 在models.py文件中书写
class UserInfo(models.Model):aid = models.AutoField(primary_key=True)username = models.CharField(max_length=32)# 迁移数据库
python3 manage.py makemigratinos
python3 manage.py migrate
​
# 字段的增删改查

今日内容概要

  • 数据的增删改查(insert update delete select)

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

  • Django框架的请求生命周期流程图(帮助你梳理Django的执行流程)

  • 路由层

  • 无名分组 有名分组(正则表达式)

  • 反向解析

  • 虚拟环境

  • 路由分发

今日内容详细

数据的增删改查(insert update delete select)
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)
Django的请求生命周期流程图
"""它可以帮助你们熟练django的一个完整执行流程"""

http://www.ppmy.cn/news/1214947.html

相关文章

web网站 固定的邀请码字符 能被爬虫爬取吗?动态改变邀请码的字符是不是可以避免爬虫爬取或数据泄露

无论邀请码字符是固定的还是动态改变的,都无法完全避免爬虫爬取或数据泄露的风险。以下是一些要考虑的因素: 爬虫技术的发展:爬虫技术不断发展,可以智能地解析和获取网页内容。即使邀请码字符是固定的,高级爬虫仍然可以…

CCF ChinaSoft 2023 论坛巡礼 | 泛在计算时代的操作系统论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

ElasticSearch搜索详细讲解与操作

全文检索基础 全文检索流程 流程: 创建索引 返回结果 查询索引 原始文档 创建索引 索引库 查询索引 创建索引: 获取文档 构建文档对象 分析文档分词 创建索引 查询索引: 用户查询结构 创建查询 执行查询 渲染结果 相关概念 索引库 索引库就…

Leetcode_46:全排列

题目描述: 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2: 输…

线性表->栈

文章目录 前言概述栈的初始化销毁压栈出栈判断栈为不为空栈的有效个数 前言 栈相对于链表,稍微简单一点,但是栈的难点在于通过栈去理解递归算法。 概述 **栈:**一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。…

关于前端地图笔记

坐标系 地球坐标系——WGS84:常见于 GPS 设备,Google 地图等国际标准的坐标体系。火星坐标系——GCJ-02:中国国内使用的被强制加密后的坐标体系,高德坐标、腾讯地图。百度坐标系——BD-09:百度地图所使用的坐标体系&a…

NativeScript开发ios应用,怎么生成测试程序?

在 NativeScript 中,要部署 iOS 应用程序,你需要遵循以下一般步骤: 1、确保开发环境: 确保你的开发环境中已经安装了 Xcode,并且你有一个有效的 Apple 开发者账号。 2、构建 iOS 应用: 在你的 NativeScri…

用excel计算一个矩阵的转置矩阵

假设我们的原矩阵是一个3*3的矩阵: 125346789 现在求它的转置矩阵: 鼠标点到一个空白的地方,用来存放结果: 插入-》函数: 选择TRANSPOSE,这个就是求转置矩阵的函数: 点击“继续”&#xff1a…