3.2 修改项目的默认配置
2025-02-17
概述
Django 项目创建后,需要根据实际需求修改一些默认配置,主要包括:
- 语言和时区设置
- 数据库配置
- 其他项目特定配置
3.2.1 配置语言环境和时区
语言设置
在 settings.py 中修改语言配置:
# 设置为中文简体(默认为 en-us)
LANGUAGE_CODE = 'zh-Hans'时区设置
配置项目时区并设置时区不敏感:
# 设置时区为上海
TIME_ZONE = 'Asia/Shanghai'
# 关闭时区敏感
USE_TZ = False说明: 设置
USE_TZ = False后,Django 将使用本地时间,不会进行时区转换
3.2.2 配置开发数据库
Django 默认使用 SQLite 数据库,但在生产环境中通常使用 MySQL 等更强大的数据库系统。
MySQL 配置
在 settings.py 中修改数据库配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # MySQL 引擎
'NAME': 'django_bbs', # 数据库名
'USER': 'root', # 用户名
'PASSWORD': 'Djangobbs', # 密码
'HOST': '127.0.0.1', # 主机地址
'PORT': '3306', # 端口号
'OPTIONS': {
'charset': 'utf8mb4', # 使用 utf8mb4 编码
'init_command':
"SET sql_mode='STRICT_TRANS_TABLES'", # 设置 SQL 模式
}
}
}安装依赖
由于 MySQLdb 不支持 Python3,需要安装 mysqlclient:
# 安装 mysqlclient
pip install mysqlclient
# 或使用 conda 安装
conda install mysqlclient验证配置
# 测试数据库连接
try:
import MySQLdb
print("MySQL 连接成功!")
except ImportError:
print("请检查 mysqlclient 是否正确安装")最佳实践
数据库设置
- 使用环境变量存储敏感信息
- 不同环境使用不同配置
- 设置适当的连接池大小
时区处理
- 确保时区设置符合业务需求
- 注意时区对数据存储的影响
字符编码
- 使用 utf8mb4 支持完整的 Unicode
- 保持数据库、Python 和 HTML 编码一致
注意:
- 不要在版本控制中提交敏感信息
- 定期备份数据库
- 注意数据库性能优化