签入版本
This commit is contained in:
+136
@@ -0,0 +1,136 @@
|
||||
# ============================================================
|
||||
# DjangoAdmin Flask 环境变量模板
|
||||
# ============================================================
|
||||
# 使用方法:
|
||||
# 1. 复制为 .env:cp .env.example .env
|
||||
# 2. 填写 <占位符> 标记的敏感值(严禁将真实 .env 提交到版本库)
|
||||
# 说明:.env 已被 .gitignore 忽略
|
||||
# ============================================================
|
||||
|
||||
# ============================================================
|
||||
# 应用基础配置(config/app.py)
|
||||
# ============================================================
|
||||
FLASK_NAME=Flask+NaiveVue旗舰版
|
||||
FLASK_VERSION=v3.0.0
|
||||
FLASK_APP=app.py
|
||||
FLASK_ENV=development # development / production
|
||||
FLASK_DEBUG=True # 生产环境必须为 False
|
||||
FLASK_USE_RELOADER=False
|
||||
FLASK_HOST=127.0.0.1
|
||||
FLASK_PORT=8021
|
||||
FLASK_SECRET_KEY=<必填,长度至少16字符,如生成随机串>
|
||||
FLASK_DEMO=False # True=演示模式,拦截写操作
|
||||
# 站点域名(定时任务等内部 HTTP 调用使用)
|
||||
# FLASK_SITE_DOMAIN=http://127.0.0.1:8021
|
||||
|
||||
# 跨域白名单(多个用英文逗号分隔;配置后 CORS 允许携带凭证)
|
||||
CORS_ALLOWED_ORIGINS=http://localhost:8001
|
||||
|
||||
# 上传配置
|
||||
FLASK_UPLOAD_DIR=./uploads
|
||||
FLASK_FILE_URL=http://file.flask.naivevue
|
||||
UPLOAD_ALLOWED_EXTS=.jpg,.jpeg,.png,.gif,.bmp,.webp,.svg,.ico,.txt,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.mp3,.mp4,.zip,.rar,.7z
|
||||
UPLOAD_MAX_SIZE_MB=10
|
||||
|
||||
# 反向代理层数(0=无代理;1=前面有 1 层 Nginx)
|
||||
PROXY_NUM=0
|
||||
|
||||
# ============================================================
|
||||
# 数据库配置(config/database.py)
|
||||
# ============================================================
|
||||
# 数据库驱动 - 可选 mysql/postgresql/mssql/sqlite/oracle
|
||||
# (别名:postgres=postgresql、sqlserver=mssql、sqlite3=sqlite)
|
||||
# 示例:
|
||||
# MySQL: DB_DRIVER=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_USERNAME=root DB_PASSWORD=***
|
||||
# PostgreSQL: DB_DRIVER=postgresql DB_HOST=127.0.0.1 DB_PORT=5432 DB_USERNAME=postgres DB_PASSWORD=***
|
||||
# SQL Server: DB_DRIVER=mssql DB_HOST=127.0.0.1 DB_PORT=1433 DB_USERNAME=sa DB_PASSWORD=***
|
||||
# SQLite: DB_DRIVER=sqlite DB_DATABASE=dev.db(此时 DB_DATABASE 即数据库文件完整路径,
|
||||
# 可填相对/绝对路径如 C:/apps/dev.db,忽略 host/port/user/password)
|
||||
# Oracle: DB_DRIVER=oracle DB_HOST=127.0.0.1 DB_PORT=1521 DB_USERNAME=system DB_PASSWORD=***
|
||||
# (DB_DATABASE 填 SERVICE_NAME,如 XEPDB1)
|
||||
DB_DRIVER=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=djangoadmin.flask.naivevue
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=<必填>
|
||||
DB_PREFIX=flask_
|
||||
DB_DEBUG=True
|
||||
DB_SSL=False
|
||||
# 若开启 DB_SSL=True,配置以下证书路径
|
||||
# DB_SSL_CA=
|
||||
# DB_SSL_CERT=
|
||||
# DB_SSL_KEY=
|
||||
|
||||
# ============================================================
|
||||
# Redis 缓存(config/redis.py)
|
||||
# ============================================================
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=<如有则填写,否则留空>
|
||||
REDIS_INDEX=0
|
||||
REDIS_AUTH=True # 是否启用密码认证
|
||||
REDIS_DECODE_RESPONSES=True
|
||||
|
||||
# ============================================================
|
||||
# JWT / 权限 / 白名单(config/auth.py)
|
||||
# ============================================================
|
||||
JWT_SALT=<必填,JWT 签名密钥,建议随机长串>
|
||||
JWT_EXPIRE_MINUTES=20 # 滑动会话空闲超时(分钟),无请求则过期,活跃自动续期
|
||||
JWT_ABSOLUTE_TIMEOUT_MINUTES=1440 # 令牌绝对有效期(分钟),防止无限续期,须≥JWT_EXPIRE_MINUTES
|
||||
LOGIN_FAIL_MAX=5
|
||||
LOGIN_LOCK_SECONDS=300
|
||||
PERMISSION_ENABLED=True # 权限校验总开关(开发可关)
|
||||
|
||||
# 内部调用密钥(定时任务等无用户场景,通过 X-Scheduler-Key / X-Internal-API-Key 传递)
|
||||
INTERNAL_API_KEY=<必填>
|
||||
INTERNAL_ALLOWED_IPS=127.0.0.1
|
||||
|
||||
# 登录白名单(以下路径跳过登录校验)
|
||||
LOGIN_WHITELIST_EXACT=/api/v1/login,/api/v1/captcha,/favicon.ico,/health
|
||||
LOGIN_WHITELIST_PREFIX=/api/v1/job/sendSms,/public,/static,/api/webhook
|
||||
LOGIN_WHITELIST_WILDCARD=/api/v1/job/*/send*,/api/v1/*/public*
|
||||
LOGIN_WHITELIST_DEBUG=True
|
||||
LOGIN_WHITELIST_LOG_ACCESS=True
|
||||
|
||||
# 验证码万能码(仅 FLASK_DEMO=True 时生效)
|
||||
CAPTCHA_BYPASS_CODE=
|
||||
|
||||
# ============================================================
|
||||
# 邮件(config/mail.py)
|
||||
# ============================================================
|
||||
MAIL_MAILER=smtp
|
||||
MAIL_SERVER=smtp.163.com
|
||||
MAIL_PORT=465
|
||||
MAIL_USE_SSL=True
|
||||
MAIL_ENCRYPTION=
|
||||
MAIL_USERNAME=<必填>
|
||||
MAIL_PASSWORD=<必填>
|
||||
MAIL_FROM_NAME=
|
||||
MAIL_FROM_ADDRESS=
|
||||
|
||||
# ============================================================
|
||||
# 短信(config/sms.py,阿里云短信)
|
||||
# ============================================================
|
||||
SMS_PROVIDER=aliyun
|
||||
SMS_ALIYUN_ACCESS_KEY_ID=<必填>
|
||||
SMS_ALIYUN_ACCESS_KEY_SECRET=<必填>
|
||||
SMS_ALIYUN_SIGN_NAME=<必填>
|
||||
SMS_ALIYUN_ENDPOINT=dysmsapi.aliyuncs.com
|
||||
SMS_ALIYUN_CONNECT_TIMEOUT=10000
|
||||
SMS_ALIYUN_READ_TIMEOUT=10000
|
||||
|
||||
# ============================================================
|
||||
# 验证码图片(config/captcha.py)
|
||||
# ============================================================
|
||||
CAPTCHA_LENGTH=6
|
||||
CAPTCHA_EXPIRE=300
|
||||
CAPTCHA_RATE_LIMIT=10
|
||||
CAPTCHA_RATE_WINDOW=60
|
||||
CAPTCHA_CHARS=ABCDEFGHJKLMNPQRSTUVWXYZ2346789
|
||||
CAPTCHA_FONT_PATH=static/fonts/Vera.ttf
|
||||
CAPTCHA_IMAGE_WIDTH=160
|
||||
CAPTCHA_IMAGE_HEIGHT=50
|
||||
CAPTCHA_FONT_SIZE=28
|
||||
CAPTCHA_NOISE_LINES=6
|
||||
CAPTCHA_NOISE_DOTS=30
|
||||
Reference in New Issue
Block a user