全书目录

第十四篇:Django 完全指南 —— 中央行政城区宇宙

第二章:项目与 App —— 总规划局和各职能部门

1 分钟 281 字 第 276 / 962 个阅读单元

先从一套最小行政城区开始。

bash
python -m pip install Django
django-admin startproject central_admin
cd central_admin
python manage.py startapp permits

此时目录大致会长这样:

text
central_admin/
├── manage.py
├── central_admin/
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   ├── asgi.py
│   └── wsgi.py
└── permits/
    ├── admin.py
    ├── apps.py
    ├── migrations/
    ├── models.py
    ├── tests.py
    └── views.py

这里最重要的不是背文件名,而是分清两个角色:

text
Project(项目)
= 整座中央行政城区总规划
= 配置、总路由、总设置、部署入口

App
= 行政城区里的一个部门
= 比如:许可证处、公告处、用户处、财务处

permits 加进项目:

py
INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "permits",
]

这一步像什么?

像是总规划局把“许可证处”正式列进了行政区编制。

项目和 app 的关系,一定要一次想对:

  • 一个项目通常有多个 app
  • 一个 app 应该围绕一类业务职责
  • app 不是“页面文件夹”,也不是“数据库表文件夹”
  • app 更像一个可独立思考的业务部门

一个很稳的判断标准是:

  • “用户管理”可以是一个 app
  • “文章系统”可以是一个 app
  • “支付”可以是一个 app
  • “首页、列表页、详情页”通常不是 app 的划分方式