- 博客(20)
- 收藏
- 关注
原创 Django事务
在 Django 中,是数据库操作的一个重要概念,用于确保一组数据库操作要么全部成功,要么全部失败。事务的核心特性是:事务中的所有操作要么全部成功,要么全部失败。:事务确保数据库从一个一致状态转换到另一个一致状态。:事务之间的操作是隔离的,不会互相干扰。:事务提交后,对数据库的修改是永久性的。Django 提供了多种方式来处理事务,以下是详细说明和示例。
2025-03-02 13:27:27
586
原创 CELERY
Django 项目中使用 Celery 可以实现异步任务处理和定时任务调度。Celery 是一个分布式任务队列,常用于处理耗时任务(如发送邮件、处理图像、调用外部 API 等),以避免阻塞主线程,提升用户体验。如何在Django下使用celery?
2025-03-02 12:37:42
391
1
原创 Django 实现i18n
在 Django 中,国际化(Internationalization,简称 i18n)是指使你的应用程序能够支持多种语言。Django 提供了强大的国际化工具,其中是核心模块,用于处理翻译和本地化。
2025-03-02 11:26:59
265
原创 Python的进程
多进程是指在程序中启动多个独立的进程,每个进程都有自己的内存空间和系统资源,它们彼此独立运行。多进程模式的实现方式是让操作系统来管理不同的进程并将它们分配到不同的CPU核心上执行,因此可以实现真正的并行处理。是一个线程安全的队列,用于进程间的通信。它可以用来存储由生产者进程产生的数据,并由消费者进程进行消费。每个对象都可以发送和接收数据,但通常将它们分配给不同的进程,以便实现双向通信。:通常由生产者进程调用,通知消费者进程某个事件发生,或某个条件满足。是线程和进程安全的队列,可以在不同的进程之间传递数据。
2024-11-13 16:45:32
533
原创 python的pool
是一个进程池,提供了多个进程池中的进程来执行任务,而不需要手动创建、启动和销毁进程。进程池根据可用的 CPU 核数自动决定使用多少进程。
2024-11-13 13:34:19
611
原创 select_related和refetch_related
将主表和关联表的数据一次性拉取回来,避免在后续访问关联数据时再次查询数据库。由于是使用 JOIN 查询,数据被一次性加载到内存中,不需要进行多次数据库访问。虽然会多执行几次查询,但每张表只查询一次,避免在循环中查询每个对象的关联数据。,将主表和关联表的数据分别加载到内存中,然后 Django 在内存中将数据。,导致大量重复查询,增加了数据库的负担和查询时间。的反向查询(即从父表查找关联表的所有子记录)。它是指在查询过程中,程序执行了。是一种常见的数据库查询性能问题,特别在有。),即外键关系和一对一关系。
2024-11-12 16:58:52
826
原创 Django的高级查询
1.Q对象允许你构建更复杂的查询条件,并进行逻辑运算(例如ANDORNOT2.F对象用于在数据库中进行字段间的比较,可以引用模型中的字段值并在查询中使用它们。详情可以查看Django查询表达式文章。
2024-11-11 17:33:53
334
原创 Django的字段类型
适合用于存储带有小数的浮点数数据,精度较低,但适合一般的计量单位数据,如重量、距离等。:用于多对多关系,比如一个文章可以有多个标签,一个标签可以被多个文章使用。:用于存储精确小数数值,比如货币金额,因其支持高精度的小数控制。:用于多对一关系,比如一篇文章有一个作者,一个作者有多篇文章。:用于存储日期,常用于生日、事件日期、截止日期等。:用于存储时间,适合用于设置事件时间、营业时间等。:用于存储日期和时间的组合,适合用于创建时间戳。:用于存储JSON格式数据,适合动态字段数据。
2024-11-11 16:05:57
721
原创 py -m
`py -m` 是 Python 启动器的一种用法,允许你通过命令行直接运行一个模块的命令行接口,而不是运行一个普通的 Python 脚本。- `py` 执行文件路径:当使用 `py manage.py` 时,`py` 会直接执行给定路径下的脚本。- **`py -m`**:用于运行模块,并触发模块中的命令行功能,通常用于启动工具、服务或运行命令行接口。- *py -m` 执行模块:`-m` 告诉 Python 查找模块的路径并执行,而不是仅仅运行文件。
2024-11-06 13:13:17
339
1
原创 面向对象三(四)大特性
对于某个元素,忽略不相干事务,将关键元素提取,由代码表述。抽象包括数据抽象、过程抽象。数据抽象 : 事务的特征,对象的元素。如:鸟的翅膀、羽毛颜色。过程抽象: 事务的动作,对象的方法。如:鸟的饮食、飞行方式。
2023-09-13 23:46:16
111
2
原创 正则表达式
findall 函数返回所有匹配的子串,放在一个列表中。. * + ? \ [ ] ^ $ { } | ( ) 表示要匹配除了 之外的任何 字符。 表示匹配前面的子表达式任意次,包括0次。 表示匹配前面的子表达式一次或多次,不包括0次。 表示匹配前面的子表达式0次或1次。 花括号表示 前面的字符匹配 。造成结果存在差异的原因是p1使用了贪婪模式,即他会尽可能多地去把 匹配内容的情况。而非贪婪模式则是点到为止。\d 匹配0-9之间任意一个数字...
2022-06-30 23:05:38
491
原创 Django的中间件
1.先来点真实的--定义中间件是Django请求/响应处理钩子框架。他是一个轻量级的、低级的“插件系统”,用于全局改变Django的输入输出(请求响应)。中间件以类的形式体现。中间件组件负责做一些特定的功能。1.什么是钩子框架?Django的钩子框架指的是请求在进入主路由or视图函数前会经过特定的中间件,返回响应同样可以经过中间件,由中间件决定是否能够进入。(个人理解,类似过滤器)2.代码层次中间类都要继承Middlewaremixin类中间件类需要实现五个方法中至少一个
2022-03-27 22:47:14
1074
原创 Django的关系映射
1.一对一2.一对多3.多对多class Book(models.Model): title = models.CharFiled('书名',max_length=20,default='')class Author(models.Model): name = models.CharFiled('名字',max_length=20,default='') books = models.ManyToManyField(Book) ps:如果是刚加入
2022-03-25 23:28:36
427
原创 Django之缓存篇
1.什么是缓存定义:缓存是一类可以更快的读取数据的介质统称,也指其他可以加快得数据读取的存储方式。一般来存储临时数据,常用的介质是快速很快据的内存。意义:试图渲染有一定的成本,数据库查询的频率过高;所以对于低频变动的页面可以考虑缓存技术,减少实际渲染次数;用户得到响应的时间也会减少。简单例子:网上购物如果的推荐图片一个月换一次,属于低频变动,因此可以通过缓存技术,这样子就不需要花费时间去数据库寻找了。2.Django的缓存方式1.数据库缓存说明:将变动低频的数据放入数据库当中。
2022-03-25 23:21:34
4988
原创 Django的ORM操作篇
classclass Book(models.Model): title = models.CharField('书名',max_length=50,default='',unique=True) pub = models.CharField('出版社',max_length=100,default='') price = models.DecimalField('价格',max_digits=7,decimal_places=2) market_price = mod
2022-03-24 17:19:11
670
原创 Django的Session
Django中,session相较于cookie要安全一些。其原因在于cookie存储于浏览器中,而session是存储在服务器当中的。session存在服务器当中,因此在浏览器向服务器发送请求时,会带着存储在cookie中的数据作为钥匙,到服务器当中寻找对应的session,且它的生命周期与cookie有关。 下面就一起来looklook吧。...
2022-03-19 22:05:39
1665
原创 Django创建类不含默认id列
如题,创建一个类在mysql中不含id列。方法:在编写类的时候,给某一属性添加primary_key = True即可。结果:
2022-03-17 22:30:56
1915
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人