1
0
forked from erp-dev/erp

test: before all tests

This commit is contained in:
2025-12-25 21:36:50 +08:00
parent 147b5804d2
commit c0277a8218
18 changed files with 310 additions and 89 deletions

View File

@@ -205,26 +205,41 @@ DATABASES = {
# https://docs.djangoproject.com/en/5.2/topics/cache/
# Django 5.x 内置 Redis 缓存后端,使用 redis 包(已安装)
# 容器内默认使用 redis://redis:6379/0本地开发可使用 redis://localhost:6379/0
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.redis.RedisCache',
'LOCATION': env(
'CACHE_URL',
default='redis://redis:6379/0', # 容器内默认地址
),
'OPTIONS': {
# Redis 连接选项
'socket_connect_timeout': 5, # 连接超时(秒)
'socket_timeout': 5, # 操作超时(秒)
'retry_on_timeout': True, # 超时后重试
'health_check_interval': 30, # 健康检查间隔(秒)
},
# 键前缀,避免不同项目/环境之间的键冲突
'KEY_PREFIX': env('CACHE_KEY_PREFIX', default='flower'),
# 默认过期时间None 表示永不过期(由具体使用场景决定)
'TIMEOUT': env.int('CACHE_DEFAULT_TIMEOUT', default=300), # 默认 5 分钟
# 检测是否在测试环境中
import sys
TESTING = 'test' in sys.argv
if TESTING:
# 测试环境使用内存缓存,避免 Redis 连接问题
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'unique-testing-cache',
}
}
else:
# 生产/开发环境使用 Redis
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.redis.RedisCache',
'LOCATION': env(
'CACHE_URL',
default='redis://redis:6379/0', # 容器内默认地址
),
'OPTIONS': {
# Redis 连接选项
'socket_connect_timeout': 5, # 连接超时(秒)
'socket_timeout': 5, # 操作超时(秒)
'retry_on_timeout': True, # 超时后重试
'health_check_interval': 30, # 健康检查间隔(秒)
},
# 键前缀,避免不同项目/环境之间的键冲突
'KEY_PREFIX': env('CACHE_KEY_PREFIX', default='flower'),
# 默认过期时间None 表示永不过期(由具体使用场景决定)
'TIMEOUT': env.int('CACHE_DEFAULT_TIMEOUT', default=300), # 默认 5 分钟
}
}
}
# Password validation