Django Admin 中文乱码排查与 MySQL 字符集配置
本文记录在使用 Django 开发个人博客时,通过 Admin 后台添加中文内容出现乱码的排查过程。经测试,排除 Unicode 上传、LANGUAGE_CODE 设置及文件编码声明等因素后,确认原因为 MySQL 数据库未指定 utf8 字符集。通过重新创建指定 utf8_general_ci 的数据库,成功解决该问题。
本文记录在使用 Django 开发个人博客时,通过 Admin 后台添加中文内容出现乱码的排查过程。经测试,排除 Unicode 上传、LANGUAGE_CODE 设置及文件编码声明等因素后,确认原因为 MySQL 数据库未指定 utf8 字符集。通过重新创建指定 utf8_general_ci 的数据库,成功解决该问题。
本文详细解析如何在Django项目中配置MySQL数据库并实现读写分离。通过修改settings.py添加主从库配置,使用pymysql驱动,并编写自定义数据库路由类MasterSlaveDBRouter。文章涵盖手动指定数据库与自动路由两种方案,帮助提升高并发场景下的数据库读写性能。
在并发场景下,多个线程使用 SELECT ... FOR UPDATE 可能因索引锁定顺序不一致产生死锁。当未提交的事务修改了非主键索引值(如状态字段),后续查询即使过滤掉该行,也会因不确定性而阻塞。通过分析执行顺序、统一加锁路径及监控长事务,可有效避免此类问题。
本文详细解析Python中SQLite数据库游标(Cursor)的核心机制与操作方法。涵盖从建立连接、创建游标对象,到执行SQL语句(增删改查)及结果获取的全过程。重点阐述游标的迭代器与生成器特性,强调事务提交(commit)的重要性及fetch系列方法的使用注意事项,帮助开发者高效、安全地进行数据库交互。
本文详细介绍MySQL查询缓存的开启条件,包括配置文件参数 query_cache_type 的三种模式(OFF、ON、DEMAND),以及通过 SHOW VARIABLES 查看状态。重点解析 show status like 'qcache%' 中 Qcache_free_blocks 等核心指标的含义。最后说明如何利用 FLUSH QUERY CACHE 清理碎片或 FLUSH TABLES 清空缓存,帮助开发者根据实际场景优化数据库性能。
本文详细解析Django框架中的ORM数据库操作,涵盖数据新增、删除、修改及查询四大核心功能。重点讲解save与create方法的区别,filter与exclude的使用,以及exact、contains等过滤条件语法。同时深入介绍F对象、Q对象、聚合函数、排序及多对一/一对多关联查询的高级用法,帮助开发者掌握Django数据持久化核心技能。

本文介绍如何在 Python 中使用 redis-py 库连接 Redis 服务器,重点讲解通过 ConnectionPool 实现连接池共享以提升性能的方法。同时涵盖字符串类型的批量存取、范围截取及追加操作,提供完整代码示例与输出解析,帮助开发者快速掌握 Redis 在 Python 中的基础应用。
本文详解在CentOS系统中将Python升级至2.7版本的完整步骤,包括编译安装、软链接配置及解决YUM因Python版本不兼容导致的报错问题。同时提供在断网环境下离线安装Setuptools和MongoDB Python驱动的实操方法,适用于服务器环境受限的场景。
本文详解如何在MySQL中使用触发器进行数据迁移和同步。重点解析从SQL Server移植逻辑时的常见错误,即AFTER更新导致的死循环问题。通过切换至BEFORE模式直接修改NEW值,成功解决自触发风险,并展示监控删除操作及备份日志的完整代码示例。
本文详细介绍如何利用Python工具sqlacodegen自动生成SQLAlchemy的Model文件。通过pip安装该工具后,使用指定命令格式连接MySQL数据库即可生成对应模型代码。文章还演示了如何通过--tables参数仅生成指定表的Model,并提供了完整的命令示例及生成的Python代码结构分析,帮助开发者快速搭建数据库映射层。
本文详解 Django 中防止 SQL 注入的核心方法。通过对比直接拼接字符串与使用占位符 %s 及参数列表 params 的执行方式,阐述参数化查询如何有效阻断恶意代码注入。重点解析 params 集合中元素顺序与 SQL 语句占位符严格对应的必要性,并强调连接对象 close() 的重要性,帮助开发者构建安全的数据库交互逻辑。
本文介绍如何在 Express 项目中通过 Node.js 连接 MySQL 数据库。涵盖从安装 MySQL服务、配置 my.ini、初始化数据库结构,到使用 mysql 模块进行建立连接及执行增删改查操作的具体步骤。重点演示了连接测试与数据插入的实际代码实现。