153 lines
5.7 KiB
Bash
153 lines
5.7 KiB
Bash
# +======================================================================
|
||
# | 模块: 环境配置文件模板
|
||
# | 说明: 提供完整的 .env 配置示例,包含应用、数据库、缓存、JWT、验证码等
|
||
# +======================================================================
|
||
|
||
# ============================================================
|
||
# 基础配置
|
||
# ============================================================
|
||
|
||
# 应用名称
|
||
TORNADO_NAME = Tornado+AntdVue旗舰版
|
||
# 应用版本
|
||
TORNADO_VERSION = v3.0.0
|
||
# 允许的跨域来源白名单(逗号分隔;留空则允许所有来源且不携带凭据)
|
||
TORNADO_CORS_ORIGINS =
|
||
# 应用运行地址
|
||
TORNADO_HOST = 127.0.0.1
|
||
# 应用运行端口
|
||
TORNADO_PORT = 8041
|
||
# 应用启动文件
|
||
TORNADO_APP = app.py
|
||
# 应用环境变量
|
||
TORNADO_ENV = development
|
||
# 是否DEBUG模式:是-True,否-False
|
||
TORNADO_DEBUG = True
|
||
# 是否DEMO模式:是-True,否-False
|
||
TORNADO_DEMO = False
|
||
# 应用文件上传路径(留空使用项目内 uploads 目录)
|
||
TORNADO_UPLOAD_DIR =
|
||
# 应用文件域名
|
||
TORNADO_FILE_URL = http://images.tornado.antdvue.djangoadmin.cn
|
||
|
||
# ============================================================
|
||
# 上传配置
|
||
# ============================================================
|
||
|
||
# 允许上传的文件扩展名 - 逗号分隔,带点号
|
||
# 生产环境务必配置,防止上传.py、.exe、.sh等危险文件
|
||
UPLOAD_ALLOWED_EXTS = .jpg,.jpeg,.png,.gif,.bmp,.ico,.txt,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.mp3,.mp4,.zip,.rar,.7z
|
||
# 上传文件大小上限(MB)- 超过此大小将被拒绝上传
|
||
UPLOAD_MAX_SIZE_MB = 10
|
||
|
||
# ============================================================
|
||
# 数据库配置
|
||
# ============================================================
|
||
|
||
# 数据库驱动 - 可选 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
|
||
# 数据库地址 - 数据库服务器IP或域名(sqlite 时忽略)
|
||
DB_HOST = 127.0.0.1
|
||
# 数据库端口 - MySQL:3306 / PostgreSQL:5432 / SQL Server:1433 / Oracle:1521 / sqlite 时忽略
|
||
DB_PORT = 3306
|
||
# 数据库名称 - 要连接的数据库名;DB_DRIVER=sqlite 时即数据库文件完整路径;
|
||
# DB_DRIVER=oracle 时填 SERVICE_NAME
|
||
DB_DATABASE = djangoadmin.tornado.antdvue
|
||
# 数据库账号 - 连接数据库的用户名(sqlite 时忽略)
|
||
DB_USERNAME = root
|
||
# 数据库密码 - 连接数据库的密码(sqlite 时无需配置)
|
||
DB_PASSWORD = root
|
||
# 数据表前缀 - 所有数据表统一前缀,用于多应用或模块隔离
|
||
DB_PREFIX = tornado_
|
||
# 是否开启调试模式:是-True,否-False
|
||
DB_DEBUG = True
|
||
|
||
# ============================================================
|
||
# 缓存配置
|
||
# ============================================================
|
||
|
||
# 缓存服务地址
|
||
REDIS_HOST = 127.0.0.1
|
||
# 缓存服务端口
|
||
REDIS_PORT = 6379
|
||
# 缓存服务密码
|
||
REDIS_PASSWORD = 123456
|
||
# 缓存库索引
|
||
REDIS_INDEX = 0
|
||
# AUTH 为 True 时需要进行 用户认证
|
||
REDIS_AUTH = True
|
||
# 是否对查询结果进行编码处理
|
||
REDIS_DECODE_RESPONSES = True
|
||
|
||
# ============================================================
|
||
# JWT 配置
|
||
# ============================================================
|
||
|
||
# JWT 密钥 - 用于令牌签名和验证,至少 32 字节,务必使用强随机密钥
|
||
# 生成方式:python -c "import secrets; print(secrets.token_urlsafe(48))"
|
||
# 切勿使用默认值,否则存在安全风险(启动 fail-close)!
|
||
JWT_SECRET = p3rMHeXiB7o0vQQO_K-Z2bJj0IBu6frYSEKcS8aovUxQtHBjD2SC53O7Sv30UVf7
|
||
# JWT 过期时间(分钟)
|
||
JWT_EXPIRE_MINUTES = 1440
|
||
# 登录失败次数上限 - 同一IP+用户名连续失败超过此次数后锁定
|
||
LOGIN_FAIL_MAX = 5
|
||
# 登录锁定时间(秒)- 锁定期间禁止该IP+用户名登录
|
||
LOGIN_LOCK_SECONDS = 300
|
||
|
||
# ============================================================
|
||
# 验证码配置
|
||
# ============================================================
|
||
|
||
# 验证码长度
|
||
CAPTCHA_LENGTH = 6
|
||
# 验证码有效期(秒)
|
||
CAPTCHA_EXPIRE = 300
|
||
# 防刷:同一 IP 在窗口期内最多获取验证码次数
|
||
CAPTCHA_RATE_LIMIT = 20
|
||
# 防刷滑动窗口(秒)
|
||
CAPTCHA_RATE_WINDOW = 60
|
||
# 字符集(去除易混淆字符,全大写便于大小写不敏感比较)
|
||
CAPTCHA_CHARS = 346789ABCDEFGHJKMNPQRTUVWXY
|
||
# 验证码图片尺寸与字号
|
||
CAPTCHA_IMAGE_WIDTH = 200
|
||
CAPTCHA_IMAGE_HEIGHT = 60
|
||
CAPTCHA_FONT_SIZE = 30
|
||
# 干扰线 / 噪点数量
|
||
CAPTCHA_NOISE_LINES = 10
|
||
CAPTCHA_NOISE_DOTS = 60
|
||
# 万能验证码(仅 TORNADO_DEMO=True 时生效,方便演示环境登录)
|
||
CAPTCHA_BYPASS_CODE = 618618
|
||
|
||
# ============================================================
|
||
# 邮件配置
|
||
# ============================================================
|
||
|
||
# 邮寄者
|
||
MAIL_MAILER = smtp
|
||
# 邮件服务
|
||
MAIL_SERVER = smtp.163.com
|
||
# 邮件端口
|
||
MAIL_PORT = 465
|
||
# 邮件SSL证书
|
||
MAIL_USE_SSL = True
|
||
# 授权邮箱用户名
|
||
MAIL_USERNAME =
|
||
# 授权邮箱授权码
|
||
MAIL_PASSWORD =
|
||
# 邮件加密串
|
||
MAIL_ENCRYPTION =
|
||
# 邮件发件人名称
|
||
MAIL_FROM_NAME =
|
||
# 邮件发件人地址
|
||
MAIL_FROM_ADDRESS = |