====== django-environ ======
https://django-environ.readthedocs.io/en/latest/
===== install =====
uv add django-environ
===== 从特定路径加载 .env 文件 =====
# Take environment variables from .env file
environ.Env.read_env(BASE_DIR / '.env') # 这个路径是项目的根目录
===== 数据库 URL 参考 =====
DATABASE_URL=psql://user:un-githubbedpassword@127.0.0.1:8458/database
SQLITE_URL=sqlite:///my-local-sqlite.db
CACHE_URL=memcache://127.0.0.1:11211,127.0.0.1:11212,127.0.0.1:11213
REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient&password=ungithubbed-secret
===== 基础配置 =====
from pathlib import Path
import environ
import os
BASE_DIR = Path(__file__).resolve().parent.parent
environ.Env.read_env(BASE_DIR / '.env') # 这个路径是项目的根目录
env = environ.Env(
DEBUG=(bool, False),
SECRET_KEY=(str, "django-insecure-17-*%ffc2j%zu$j$z+8n)=wzljy%5$k2dem=h3^p!h5p2x4tvu"),
DATABASE_URL=(str, "sqlite:///db.sqlite3"),
ALLOWED_HOSTS=(list, []),
TIME_ZONE=(str, "UTC"),
LANGUAGE_CODE=(str, "en-us"),
USE_I18N=(bool, True),
USE_TZ=(bool, True),
DEFAULT_AUTO_FIELD=(str, "django.db.models.BigAutoField"),
)
SECRET_KEY = env("SECRET_KEY")
DEBUG = env("DEBUG")
ALLOWED_HOSTS = env("ALLOWED_HOSTS")
LANGUAGE_CODE = env("LANGUAGE_CODE")
TIME_ZONE = env("TIME_ZONE")
USE_I18N = env("USE_I18N")
USE_TZ = env("USE_TZ")
===== 数据库配置 =====
DATABASES = {
"default": env.db(),
}