《Django 5 By Example》阅读笔记:p237-p338

《Django 5 By Example》读后感 本人的工作方向为Python Web方向,想了解下今年该方向有哪些新书出版,遂上packt出版社网站上看了看,发现这本书出版时间比较新(2024年9月),那就它了。从2024年11月11日至2024年12月18日期间,花了 22 天阅读完《Django 5 By Example》(《Django项目实例精解》)。 阅读详情

《Django 5 By Example》学习第11天,p237-p338总结,总计102页。

一、技术总结

1.follow system(关注功能)

表之间的关系有三种:OneToOneField,many-to-one(使用Foreignkey()),ManyToManyField。有时候为了更好的描述对象之间的关系,需要多创建一张中间表:Creating an intermediate model is necessary when you want to store additional information on the relationship, for example, the date when the relationship was created, or a field that describes the nature of the relationship。

例如关注功能:

class Contact(models.Model):

    user_from = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='rel_from_set')

    user_to = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='rel_to_set')

    created = models.DateTimeField(auto_now_add=True)



    class Meta:

        indexes = [

            models.Index(fields=['-created']),

         ]

        ordering = ['-created']



    def __str__(self):

        return f'{self.user_from.username} follows {self.user_to.name}'

2.monkey patch

p289, You use the add_to_class() method of Django models to monkey patch the User model。monkey patch的意思是:Monkey patch is a technique used to dynamically update the code at runtime without altering the source code。示例:

# monkey patch 示例

user_model = get_user_model()

user_model.add_to_class(

    'following',

    models.ManyToManyField('self', through=Contact, symmetrical=False, related_name='followers')

)

注:尽量少用monkey patch。

3.activity stream(活动流)功能

4.contenttypes

p300, contenttypes 的作用:This application can track all models installed in your project and provides a generic interface to interact with your models.

5.denormalization(反规范化)

p315, Denormalization is making data redundant in such a way that it optimizes read performance. For example, you might be copying related data to an object to avoid expensive read queries to the database when retrieving the related data.

6.signal

7.django-debug-toolbar

用于完善debug功能,在界面通过toolbar显示一些统计信息。个人觉得在实际开发中可有可无。

8.使用redi做缓存

使用的 package 名称也叫redis。在实际业务也中经常使用,但是不复杂,掌握常用的方法即可。

二、英语总结(生词:2)

1.thewart

p292. Usernames, unlike sequential IDs, thwart enumeration attacks by obscuring your data structure.

vt. to stop sth from happing.

2.every once in a while

p327, Redis stores everything in memory, but the data can be persisted by dumping the dataset to disk every once in a while, or by adding each command to a log.

idiom. sometimes, but not regularly. 也写作 every so often。

三、其它

chapter 07 简评:4-7 章是一个完整的项目(bookmarks),建议从第 4 章按顺序阅读到第 7 章,不要跳过某个章节,因为作者的代码是连续,跳过之后项目可能无法运行。

Pycharm(2024.3 Professional Edition) :Settings > Build, Execution, Deployment > Python Debugger新增了一个功能 “Run debugger in server mode”,然后 Pycharm 默认是勾选的,导致我在 WSL 使用 debug 启动后一直无法访问。忍了那么久终于可以debug了,气 die! Pycharm,你再这样我明年就不续费了。

四、参考资料

1. 编程

(1) Antonio Melé,《Django 5 By Example》:https://book.douban.com/subject/37007362/

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org
在这里插入图片描述

欢迎搜索及关注:编程人(a_codists)

rk3399 linux 5.10 usb 2.0设备上电概率性注册失败 先排除硬件上的问题,然后就烧录kernel 4.1的的镜像,多次测试也没有发现这个问题,所以排除了硬件上的问题,然后。查下usb hub和usb 4G的复位脚,写驱动都给它们配上了,但是还是存在这个问题。最后通过对比rk3399.dtsi发现少了个power-domains = ;多次开关机,发现usb hub和4G都通信失败了,这就有点奇怪了,按理说usb驱动是没啥问题的。加上后,重新编译烧录,重新测试没有发现这个问题了!先查看usb log。 阅读详情

相关推荐

WGCNA分析中那些没人告诉你的坑:以肺结核差异基因模块筛选为例

本文深入探讨WGCNA分析在肺结核差异基因模块筛选中的七个关键陷阱,包括soft-thresholding选取、样本离群值检测、模块合并阈值调整等。通过实际案例和R代码示例,揭示生信数据挖掘中常被忽视的技术细节,帮助研究者避免常见错误,提升分析结果的可靠性和生物学意义。

weixin_29218509的博客 262

jetbrain gateway pycharm调试时出现卡住、页面不会自动定位到执行所在行

使用jetbrain gateway的pycharm,连接远程服务器项目,使用调试模式时,有时候会出现。

Nyte_的博客 446

手把手教你用示波器搞定PCIe 5.0 REFCLK时钟信号测量(附完整参数解读)

本文详细介绍了如何使用示波器进行PCIe 5.0 REFCLK时钟信号测量,包括示波器与探头的选择、关键参数的测量方法及解读,以及实战中的常见问题与解决方案。通过手把手教学和完整参数解读,帮助硬件工程师高效完成时钟信号测量,确保系统稳定性。

weixin_28704565的博客 361

Eclipse调试:Run on server 和 Debug on server 区别

Run on server: 以正常模式运行程序。会直接把程序从头到尾执行一遍,运行完就结束,不会进入到源代码里面(即使源代码中设置了断点)。 Debug on server: 以调试模式运行程序,或者叫做测试执行。会根据在源代码中设置的调试内容,反馈相应信息。例如进入设置的断点,这样有助于追踪程序的运行过程。另外,某些情况下,修改程序中的内容,可以直接看到修改后的效果,例如修改方法体...

diaomiyin6661的博客 2764

AB脉冲详解(编码器,PLC,上位机)

编码器线有些是用不到的。Z脉冲:360度中,只有1度是输出,输出能力是。编码器实际就是发光二极管,所以电流超过20ma会缩短寿命或损坏。

cfqq1989的博客 1万+

【SPSS操作】Non-parametric ANCOVA (Quade‘s) in SPSS

在SPSS中执行Quade的非参数ANCOVA需要手动计算步骤,因为SPSS没有内置的菜单选项。以下是详细的操作指南。

weixin_43689393的博客 1279

Pycharm 调试报警告Backend TkAgg is interactive backend. Turning interactive mode on.且无法显示变量问题最终解决

运行代码正常,调试会出现概率警告Backend TkAgg is interactive backend. Turning interactive mode on.且无法显示变量,只能重启pycharm才能开启新的正常调试。取消勾选Run debugger in server mode。1.勾选Enable interactive mode。2.勾选Gevent。

tankssss的博客 2767

Ollama+FAISS+Embedding+Rerank+LLM 详细部署指南

下载安装Ollama 双击运行安装程序 安装完成后会自动启动服务 修改默认安装路径(避免C盘爆满) 或使用PowerShell: 验证安装 Linux系统部署: (二)准备模型 1. 拉取Embedding模型 2. 拉取LLM模型 注意:原文中提到的可能需要从自定义仓库拉取: 3. 下载Rerank模型 (三)安装依赖库 创建项目目录和虚拟环境: 二、主要功能实现 项目结构 (一)配置文件(config/config.yaml) (二)文本分块策略实现 创建 : (三)文档读取

AI技术改变世界 1585

基于深度学习的猫狗目标检测(Python+YOLO26m+Django)实现详解

详解基于深度学习的猫狗目标检测系统:YOLO26m迁移学习训练、数据划分与错标检测、ONNX导出、Energy阈值拒识、Django+Vue网站部署,附后端核心代码。

WEIXIN_JSJBSZDS的博客 378

FISCO BCOS(八)——— 一键部署 WeBase

环境 版本 Java Oracle JDK 8 至 14 MySQL MySQL-5.6及以上 Python Python3.6及以上 PyMySQL 1、获取部署安装包: wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.4/webase-deploy.zip 2、解压安装包: unzip webase-deploy.zip 3、进入目录: c...

林中有神君 3608

【占用网络】OccNet: Scene as Occupancy 适用于检测、分割和规划任务 ICCV2023

本文分享“占用网络”方案中,具有代表性的方法:OccNet。它以多视角视觉为核心,首先生成BEV特征,然后通过级联结构和时间体素解码器重建生成3D占用特征。构建一个通用的“3D占用编码特征”,用以表示3D物理世界。这样的特征描述可以应用于广泛的自动驾驶任务,包括检测、分割和规划。

黎国溥 3362

【复古】浅尝Django前后端不分离

之前我们已经学过用 DRF 开发前后端分离的 Django 项目了,现在我们补充一下前后端不分离的古法 Web 开发的知识点。

2403_88863963的博客 177

Qt for WebAssembly环境搭建

一、前言 二、Ubuntu 1、在线安装Qt15 在线安装下载器:https://download.qt.io/official_releases/online_installers/ 安装时记得勾选WebAssembly,如下: 2、安装依赖 # Install Python sudo apt-get install python2.7 # Install CMake (optional, only needed for tests and building Binaryen) sudo apt

贝勒里恩的博客 3670

基于 Django 的 B 站弹幕情感分析系统-毕业设计

面向UP主与内容研究者的弹幕情感分析系统:粘贴B站视频地址即可采集其全部可见弹幕(自实现WBI接口签名与protobuf解码,无需登录),经清洗、jieba分词、停用词过滤与朴素贝叶斯情感分类,输出情感分布、弹幕密度与情绪时间轴、高频关键词与词云;弹幕语境词由可维护的情感词典二次校正,支持多视频对比与Excel

csbysj2020 164

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

基于深度学习的交通场景多目标检测与交通流量分析——YOLO26m训练、ONNX部署与Django流量大屏实现

本文介绍一套基于深度学习的交通场景多目标检测与交通流量分析系统。模型侧使用6633张交通画面、79628个标注实例训练YOLO26m主模型,并以YOLO11m、YOLOv8m做同条件对比,评估采用逐类AP应对类别不平衡;应用侧基于Django与Vue2实现登录、图片识别、历史记录与流量大屏四个模块,识别优先走ONNX推理并支持模型切换,检测结果按类别聚合,直观呈现道路车流构成。

WEIXIN_JSJBSZDS的博客 295

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

第3章 第1节:Mapping 映射详解

ip:存 IPv4/IPv6 地址,支持 CIDR 网段查询(10.0.0.0/8)、范围查询、排序聚合。geo_point:存经纬度,支持(附近 N 公里)、(矩形范围)、按距离排序,适合"附近的门店"类需求,入门了解即可。预期返回。

啊渊的专栏 151

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

多 Agent 共用数据库,元数据检索怎么省下 token 账单?

多 Agent 编排正在从 Demo 走向生产。一个典型的变化是,过去是一个 Agent 连一个数据库,现在是五个、十个 Agent 同时连同一个数据库,有人查数,有人写数,还有人改表结构。数量一上来,问题就变成三个更实际的账:token 账单、协议互通、并发一致。下面逐个拆开,说清楚多 Agent 时代的数据库底座该怎么搭。多 Agent 时代数据库要接住三个账:token、协议、一致性,角色从「被动仓库」转向「主动中枢」

augen1355的博客 352

【Python编程—从入门到实践】(Django入门:把Python变成网站,亲手搭建你的学习笔记)

本文以“学习笔记”网站为实战项目,带领 Python 初学者使用 Django,将基础编程知识转化为可访问、可交互的网页应用。内容涵盖虚拟环境搭建、项目与应用创建、数据模型设计、数据库迁移和后台管理,并通过首页、主题列表与笔记详情页,逐步理解路由、视图、模板和模型之间的协作关系。结合模板继承、数据查询与页面渲染,梳理从浏览器请求到内容展示的完整流程,掌握学习主题与笔记条目的组织方法。帮助读者建立网站开发的整体思路,搭建结构清晰、便于扩展的项目,为后续添加表单、用户登录与权限控制打下基础。

承于所学,探技术之渊;以代码求政,寻成长之道。 1万+

列式存储为什么适合分析类负载?原理、限制与日志场景应用

列式存储因按列组织数据,显著减少分析类查询中无关列的读取,结合高效压缩与向量化执行,提升宽表聚合性能。其优势源于存储布局、编码压缩与执行优化三层协同,但代价包括行重组开销、点查延迟及更新成本。适用性取决于查询列占比,日志分析场景可借助内建倒排索引实现检索与聚合一体化,是否合一需根据负载类型权衡。

SelectDB 328

基于深度学习的皮肤镜图像黑色素瘤良恶性分类研究——ResNet50训练与Django部署全流程实现(Python)

针对皮肤镜图像黑色素瘤良恶性判别问题,本课题构建了一套基于深度学习的分类研究系统。数据层面完成画像、查重与分层划分,测试集冻结评估;模型层面以ResNet50迁移学习完成训练,以Macro-F1为主要指标,配合Grad-CAM热力图进行可解释性分析;应用层面将模型导出为ONNX格式,在Django框架下实现图片、视频、摄像头三类识别入口,并提供识别历史与统计大屏功能,部署推理与训练评估结果保持一致,全流程留痕可复现。

WEIXIN_JSJBSZDS的博客 361

Django 权限系统项目实战详细图文教程 7--系统主页功能实现 3

7、Django 权限系统项目实战详细图文教程 7--系统主页功能实现 3

测试开发 127

基于深度学习的猫图像目标检测方法研究:YOLOv8s模型海选、多种子对比训练与Django+ONNX部署实现详解

本课题基于深度学习研究猫图像目标检测问题。数据集含1000张猫图像、1188个标注框,按固定比例划分并冻结清单;训练前在多个候选族中短训海选,确定YOLOv8s为主模型,经学习率搜索与显存标定后完成150轮训练,验证集mAP50达到0.92,并以7个随机种子的对比实验验证稳定性。最优权重导出为ONNX接入Django系统,提供图片、视频、摄像头三种识别方式,配套识别记录管理与统计大屏,形成从训练到应用的完整闭环。

WEIXIN_JSJBSZDS的博客 210

基于深度学习的水下复杂场景鱼类目标检测系统:YOLOv8+Django实现详解

本课题面向水下复杂场景的鱼类检测问题,以YOLOv8s为主模型,在约8200张、13类的水下图像上完成训练。训练前通过短训海选自动选型,训练后与Faster R-CNN、SSD300在同一冻结划分和COCO评测口径下对比,三个随机种子重复实验并做统计检验,验证集mAP50-95为0.734。最优权重经对账后导出为端到端ONNX,接入Django与Vue系统,提供图片、视频、摄像头识别、识别历史管理与可视化大屏,形成从模型到应用的完整闭环。

WEIXIN_JSJBSZDS的博客 336

深度学习毕业设计实战:基于YOLO26m的室内火灾早期烟雾与火焰检测系统(数据集+训练+Django部署)

这是一套面向室内早期火情的目标检测系统:主模型YOLO26m,训练数据约6500张室内火情图像,覆盖火焰与烟雾两类目标。系统提供图片、视频、摄像头三种识别方式,页面可在YOLO26m、YOLO11m、RTDETR间切换对比。后端Django、前端Vue,识别记录分级管理,数据大屏汇总置信度与任务类型,训练流程完整可复现,适合计算机专业毕设参考。

WEIXIN_JSJBSZDS的博客 313

基于深度学习的塑料类型图像分类研究(Python+PyTorch+Django完整实现)

本课题围绕塑料回收分拣场景,完成基于深度学习的塑料类型图像分类研究。项目使用公开塑料识别数据集,覆盖六类常见塑料,先以ResNet18预训练特征做错标检测,自动隔离可疑样本并复测清洗效果,再按类别分层划分数据集;模型选用ResNet50进行迁移学习,训练中引入标签平滑与EMA应对标签噪声,以宏平均F1,各类别召回和混淆矩阵作为主要评估指标;训练完成的模型导出为ONNX格式,由Django后端加载推理,Vue前端实现图片上传与结果展示,形成从数据,训练到应用的完整闭环,可作为深度学习方向毕业设计的实现参考。

WEIXIN_JSJBSZDS的博客 118

认证、后台、站点地图、ORM:Django 替 CMS 备好的四样

四个 Python CMS 共用 Django 地基,后台却各盖各的;认证、权限、ORM 开箱自带。Flask 试过,Quokka 仓库停在 2019 年。

damoluomu的专栏 333
上一篇: Python创建虚拟环境报错:Error: Command......
下一篇: 《Django 5 By Example》阅读笔记:p339-p358
codists
博客等级 码龄6年 1488粉丝 379原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值