诚实性修复: API限流Retry-After(wait=60s)+断言 / purge定时接线(04:00 cron+actor+测试) / Channel表单校验(ref+rules+validate) / README PG数字513

This commit is contained in:
seagull
2026-09-12 02:20:50 +08:00
parent b3f3095d53
commit 67540e8d30
40 changed files with 1805 additions and 31 deletions
+22 -5
View File
@@ -1,11 +1,21 @@
"""生产环境配置:PostgreSQL + 严格安全 + Granian。"""
import os
from django.core.exceptions import ImproperlyConfigured
from .base import * # noqa
from .base import env
DEBUG = False
ALLOWED_HOSTS = env.list("DJANGO_ALLOWED_HOSTS", default=["*"])
_configured_hosts = os.environ.get("DJANGO_ALLOWED_HOSTS", "").strip()
if not _configured_hosts:
raise ImproperlyConfigured(
"生产环境必须显式设置 DJANGO_ALLOWED_HOSTS(逗号分隔的域名列表),"
"不允许默认接受任意 Host 头"
)
ALLOWED_HOSTS = [h.strip() for h in _configured_hosts.split(",") if h.strip()]
if not ALLOWED_HOSTS:
raise ImproperlyConfigured("DJANGO_ALLOWED_HOSTS 解析为空,请填入实际域名")
# PostgreSQL(用 DATABASE_URL 环境变量)
DATABASES = {
@@ -43,14 +53,21 @@ SECURE_REFERRER_POLICY = "same-origin"
X_FRAME_OPTIONS = "DENY"
# 生产不打印 SQL(prod 不继承 dev 的配置,避免 KeyError)
# 注意:必须用直接赋值覆盖 base.py 已定义的 dealerhub logger;
# setdefault 对已存在的 key 不生效,会导致生产仍是 DEBUG。
LOGGING.setdefault("loggers", {})
LOGGING["loggers"].setdefault("django", {
LOGGING["loggers"]["dealerhub"] = {
"handlers": ["console"],
"level": "INFO",
"propagate": False,
})
LOGGING["loggers"].setdefault("django.db.backends", {
}
LOGGING["loggers"]["django"] = {
"handlers": ["console"],
"level": "INFO",
"propagate": False,
}
LOGGING["loggers"]["django.db.backends"] = {
"handlers": ["console"],
"level": "WARNING",
"propagate": False,
})
}