====== 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(), }