Python · 2 分钟阅读
创建项目骨架
用
django-admin一行命令起手,再用startapp拆分业务。
创建项目
django-admin startproject my_bbs
生成结构:
my_bbs/
├── manage.py
└── my_bbs/
├── __init__.py
├── settings.py
├── urls.py
├── asgi.py
└── wsgi.py
核心文件
| 文件 | 作用 |
|---|---|
manage.py |
命令行入口(迁移、启动、shell) |
settings.py |
全局配置 |
urls.py |
根路由 |
wsgi.py / asgi.py |
部署入口(同步 / 异步) |
启动开发服务器
cd my_bbs
python manage.py runserver
python manage.py runserver 8080 # 自定义端口
python manage.py runserver 0.0.0.0:8000 # 局域网访问
settings.py 速查
| 配置 | 作用 | 备注 |
|---|---|---|
BASE_DIR |
项目根目录 | 用于构建绝对路径 |
SECRET_KEY |
加密签名密钥 | 必须 走环境变量 |
DEBUG |
调试模式 | 生产环境必须 False |
ALLOWED_HOSTS |
允许访问的域名 | DEBUG 关闭时必填 |
INSTALLED_APPS |
启用的 App | 新增 App 需注册 |
MIDDLEWARE |
中间件列表 | 顺序敏感 |
ROOT_URLCONF |
根路由模块 | 通常无需改动 |
TEMPLATES |
模板引擎 | 默认 DTL |
DATABASES |
数据库配置 | 默认 SQLite |
LANGUAGE_CODE |
语言 | zh-Hans |
TIME_ZONE |
时区 | Asia/Shanghai |
USE_TZ |
时区感知 | 推荐 True |
STATIC_URL |
静态资源前缀 | 生产需配合 STATIC_ROOT |
推荐的分环境配置
config/
├── settings/
│ ├── base.py # 公共配置
│ ├── dev.py # DEBUG=True
│ └── prod.py # DEBUG=False
manage.py 中通过 --settings=config.settings.dev 指定。
最佳实践
- ✅ 配置按环境拆分
- ✅ 敏感信息走环境变量或
.env(配合python-decouple) - ✅ 团队统一编辑器与代码风格(推荐
ruff+black) - ❌
SECRET_KEY不要硬编码、不要提交