Django「子应用」三步曲:从创建到注册

举报
周杰伦本人 发表于 2025/07/30 14:02:51 2025/07/30
【摘要】 Django「子应用」三步曲:从创建到注册 前言项目(project)≈ 公司,子应用(app)≈ 部门。当公司功能越来越多,就要把“图书管理”“用户中心”“支付”拆成独立部门(子应用),方便开发与维护。下文把「创建子应用 → 查看目录 → 注册到项目」浓缩成 3 步,全程复制即可用。 一、STEP 1:创建子应用# 确保在虚拟环境 + manage.py 同级目录workon djang...

Django「子应用」三步曲:从创建到注册

前言

项目(project)≈ 公司,子应用(app)≈ 部门。
当公司功能越来越多,就要把“图书管理”“用户中心”“支付”拆成独立部门(子应用),方便开发与维护。
下文把「创建子应用 → 查看目录 → 注册到项目」浓缩成 3 步,全程复制即可用。


一、STEP 1:创建子应用

# 确保在虚拟环境 + manage.py 同级目录
workon django225_xiaoshunyi42
cd book_manager              # 外层项目目录
python manage.py startapp book  

创建名为 book 的子应用

执行完目录结构:

book_manager/
├── manage.py
├── book/                    # ← 新建的子应用
│   ├── migrations/
│   ├── admin.py
│   ├── apps.py              # AppConfig 所在
│   ├── models.py            # 模型(Model)
│   ├── tests.py
│   └── views.py             # 视图(View)
└── book_manager/            # 项目配置目录
    ├── settings.py
    ├── urls.py
    └── ...

二、STEP 2:注册子应用

打开 book_manager/settings.py,找到 INSTALLED_APPS,把子应用加进去:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    ...
    'book',                  # 方案一:简洁写法
    # 'book.apps.BookConfig' # 方案二:官方推荐,效果一致
]

不注册就会在启动或访问时提示 ModuleNotFoundError: No module named 'book'


三、STEP 3:在 PyCharm 中正确打开工程

  1. Open 时选择 外层 book_manager 目录(仓库根)。

  2. 设置解释器
    File → Settings → Project: book_manager → Python Interpreter → 选择虚拟环境 django225_xiaoshunyi42(路径通常在 ~/.virtualenvs/ 下)。

  3. 新建/编辑代码时,PyCharm 会自动使用虚拟环境里的解释器和依赖。


四、常用命令速记

操作 命令
创建子应用 python manage.py startapp <app_name>
查看所有子应用目录 tree -L 2ls
注册子应用 settings.py::INSTALLED_APPS 里添加
启动项目 python manage.py runserver

五、总结

  1. startapp 生成子应用骨架。

  2. 必做注册到 INSTALLED_APPS,否则 Django 不认识。

  3. 在 PyCharm 打开外层目录并绑定虚拟环境,避免找不到包。

完成以上三步,子应用即可随项目一起启动,接下来就能在 models.py 写模型、views.py 写视图、urls.py 配置路由了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。