fix: Task1 质量审查修复(RuntimeError fail-fast/ALLOWED_HOSTS strip/lock 清理/测试缓存隔离)
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -5,10 +5,12 @@ import os
|
|||||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
SECRET_KEY = os.environ.get("DJANGO_SECRET_KEY", "dev-insecure")
|
SECRET_KEY = os.environ.get("DJANGO_SECRET_KEY", "dev-insecure")
|
||||||
DEBUG = os.environ.get("DJANGO_DEBUG", "0" if os.environ.get("DJANGO_ENV") == "prod" else "1") == "1"
|
DEBUG = os.environ.get("DJANGO_DEBUG", "0" if os.environ.get("DJANGO_ENV") == "prod" else "1") == "1"
|
||||||
ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS", "*").split(",")
|
ALLOWED_HOSTS = [h.strip() for h in os.environ.get("DJANGO_ALLOWED_HOSTS", "*").split(",") if h.strip()]
|
||||||
if os.environ.get("DJANGO_ENV") == "prod": # 生产 fail-fast:漏配即启动崩溃,不带病上线
|
if os.environ.get("DJANGO_ENV") == "prod": # 生产 fail-fast:漏配即启动崩溃,不带病上线(raise 而非 assert,防 -O 剥离)
|
||||||
assert SECRET_KEY != "dev-insecure", "生产必须配置 DJANGO_SECRET_KEY"
|
if SECRET_KEY == "dev-insecure":
|
||||||
assert os.environ.get("DJANGO_ALLOWED_HOSTS"), "生产必须显式配置 DJANGO_ALLOWED_HOSTS"
|
raise RuntimeError("生产必须配置 DJANGO_SECRET_KEY")
|
||||||
|
if not os.environ.get("DJANGO_ALLOWED_HOSTS"):
|
||||||
|
raise RuntimeError("生产必须显式配置 DJANGO_ALLOWED_HOSTS")
|
||||||
|
|
||||||
INSTALLED_APPS = [
|
INSTALLED_APPS = [
|
||||||
"django.contrib.contenttypes",
|
"django.contrib.contenttypes",
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
from .settings import *
|
from .settings import *
|
||||||
DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3", "NAME": ":memory:"}}
|
DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3", "NAME": ":memory:"}}
|
||||||
|
CACHES = {"default": {"BACKEND": "django.core.cache.backends.locmem.LocMemCache"}} # 内存缓存,避免文件缓存限流计数在重跑间残留
|
||||||
|
|||||||
@@ -1,16 +1,11 @@
|
|||||||
# 由 pip freeze 生成,剔除测试依赖;部署用 requirements.txt
|
# 由 pip freeze 生成,剔除测试依赖;部署用 requirements.txt
|
||||||
asgiref==3.12.1
|
asgiref==3.12.1
|
||||||
colorama==0.4.6
|
|
||||||
Django==5.2.17
|
Django==5.2.17
|
||||||
django-cors-headers==4.9.0
|
django-cors-headers==4.9.0
|
||||||
djangorestframework==3.18.1
|
djangorestframework==3.18.1
|
||||||
djangorestframework_simplejwt==5.5.1
|
djangorestframework_simplejwt==5.5.1
|
||||||
gunicorn==26.2.0
|
gunicorn==26.2.0
|
||||||
iniconfig==2.3.0
|
|
||||||
packaging==26.3
|
|
||||||
pluggy==1.6.0
|
|
||||||
py-ip2region==3.0.4
|
py-ip2region==3.0.4
|
||||||
Pygments==2.21.0
|
|
||||||
PyJWT==2.14.0
|
PyJWT==2.14.0
|
||||||
PyMySQL==1.2.0
|
PyMySQL==1.2.0
|
||||||
sqlparse==0.6.0
|
sqlparse==0.6.0
|
||||||
|
|||||||
Reference in New Issue
Block a user