baseline: 批次A-D 成果 + membership 半成品(测试红)

This commit is contained in:
agent
2026-09-11 23:11:35 +08:00
commit b3f3095d53
311 changed files with 40540 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
"""生产环境配置:PostgreSQL + 严格安全 + Granian。"""
import os
from .base import * # noqa
from .base import env
DEBUG = False
ALLOWED_HOSTS = env.list("DJANGO_ALLOWED_HOSTS", default=["*"])
# PostgreSQL(用 DATABASE_URL 环境变量)
DATABASES = {
"default": env.db(
"DATABASE_URL",
default="postgres://dealerhub:dealerhub@pg-main:5432/dealerhub",
)
}
# 异步连接池
DATABASES["default"]["OPTIONS"] = {
"pool": {"min_size": 2, "max_size": 10, "timeout": 10},
}
# Redis
CACHES = {
"default": {
"BACKEND": env(
"CACHE_BACKEND",
default="django.core.cache.backends.locmem.LocMemCache",
),
"LOCATION": env("CACHE_LOCATION", default="dealerhub-cache"),
}
}
# 安全
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SECURE_HSTS_SECONDS = 60 * 60 * 24 * 30 # 30 天
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
SECURE_HSTS_PRELOAD = True
SECURE_CONTENT_TYPE_NOSNIFF = True
SECURE_REFERRER_POLICY = "same-origin"
X_FRAME_OPTIONS = "DENY"
# 生产不打印 SQL(prod 不继承 dev 的配置,避免 KeyError)
LOGGING.setdefault("loggers", {})
LOGGING["loggers"].setdefault("django", {
"handlers": ["console"],
"level": "INFO",
"propagate": False,
})
LOGGING["loggers"].setdefault("django.db.backends", {
"handlers": ["console"],
"level": "WARNING",
"propagate": False,
})