创建子应用

在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。

在Flask框架中也有类似子功能应用模块的概念,即蓝图Blueprint。

Django的视图编写是放在子应用中的。

1. 创建

在django中,创建子应用模块目录仍然可以通过命令来操作,即:

python manage.py startapp 子应用名称

manage.py 为上述创建工程时自动生成的管理文件。

例如,在刚才创建的demo工程中,想要创建一个用户users子应用模块,可执行:

cd ~/Desktop/code/demo
python manage.py startapp users

执行后,可以看到工程目录中多出了一个名为users的子目录。

2. 子应用目录说明

查看此时的工程目录,结构如下:

  • admin.py 文件跟网站的后台管理站点配置相关。
  • apps.py 文件用于配置当前子应用的相关信息。
  • migrations 目录用于存放数据库迁移历史文件。
  • models.py 文件用户保存数据库模型类。
  • tests.py 文件用于开发测试用例,编写单元测试。
  • views.py 文件用于编写Web应用视图。

3. 注册安装子应用

创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用。

在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:

注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。

例如,将刚创建的users子应用添加到工程中,可在INSTALLED_APPS列表中添加'users.apps.UsersConfig'。

django创建子应用相关推荐

  1. Django创建应用和项目基本流程学习(二)

    创建项目project 创建learning_log项目 在terminal中进入项目路径(manage.py所在文件夹,后面用project_path$表示),输入如下指令: project_pat ...

  2. Django创建第一个应用

    Django创建第一个应用 1,创建应用 Django自带一个实用程序,可以自动生成应用程序的基本目录结构,因此您可以专注于编写代码而不是创建目录. 要创建您的应用程序,请确保您与目录位于同一目录,m ...

  3. django创建应用程序_使用Django创建基于机器学习的Web应用程序

    django创建应用程序 This article is for readers who want to deploy their Machine Learning model as a Web Ap ...

  4. Django创建应用,app注册,Filed字段类型解析,魔术方法str使用。

    这篇博客根据上文Django创建第一个项目- ,从而在项目中跟进创建一个应用,以及app的注册, 模型models中的filed字段类型解析, 魔术方法 str 的使用. 工具: pycharm202 ...

  5. 基于Django创建图书管理系统

    1.创建项目 在pycharm中创建django项目 创建子应用 命令python manage.py startapp book 创建成功 二.settings.py配置 1.创建数据库 2.PyC ...

  6. python多线程的使用(导入线程模块、创建子线程任务、启动子线程任务、获取当前执行的线程号)

    1. 导入线程模块 #导入线程模块 import threading 2. 线程类Thread参数说明 Thread([group [, target [, name [, args [, kwarg ...

  7. conda创建子环境并注册kernel

    conda创建子环境并注册kernel #版本: conda --version或者conda -V # 环境命令的帮助: conda env -h #conda已有环境 conda env list ...

  8. django创建项目,创建app以及调用templates(模版)和static(静态文件)的方法

    # django创建项目,创建app以及调用templates和static的方法 创建项目project 检查django的版本.我用的是2.2.1版本 打开终端,输入命令: python -m d ...

  9. 【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 标签闭包下创建子标签 | 使用 MarkupBuilderHelper 添加 xml 注释 )

    文章目录 一.标签闭包下创建子标签 二.使用 MarkupBuilderHelper 添加 xml 注释 三.完整代码示例 一.标签闭包下创建子标签 在上一篇博客 [Groovy]xml 序列化 ( ...

最新文章

  1. stm32怎么用keil软件进行仿真?(必需掌握的技能)
  2. java校验ip格式_JAVA IP地址格式验证,使用正则表达式
  3. oracle存储过程00054,oracle执行存储过程报错:ORA-12011
  4. memset用法详解
  5. 特征值与特征向量的几何含义(转)
  6. 用python实现TCP协议传输功能(服务端代码)
  7. python使用全局变量的坑,要使用global
  8. [OS] 远程启动计划任务时以管理员身份运行
  9. ERROR1045(28000): AccessforuserODBC‘@‘ (using password: YES)
  10. 【实践】美团到店综合业务场景下的知识图谱构建与应用实践.pdf(附下载链接)...
  11. 2010多校第一题 hdu3440House Man 差分约束系统
  12. python的浮点数_Python的浮点数损失精度问题
  13. 凯斯西储大学计算机科学硕士,凯斯西储大学电气工程与计算机科学系
  14. 华为交换机初始化_华为S5700交换机初始化配置举例
  15. Gitlab-Runner安装并注册
  16. CSS边框boder
  17. 字母和数字符号的ASCII码对照表转
  18. 渗透测试--medium_socnet
  19. 任天堂 Switch推出VR 套装!玩法将会更加有趣多元
  20. 社群运营岗位部门团队KPI绩效sop工作流程计划方案

热门文章

  1. Pandas+Pyecharts | 广州市已成交房源信息数据可视化
  2. cesium解决报错“Expected listener to be typeof function, actual typeof was undefined“
  3. Docker搭建nextcloud使用云盘
  4. c语言打开一个html文件路径,C语言文件处理 -C语言文件的打开和关闭
  5. IOST节点计划全面升级: 全球寻找1000位IOST合伙人
  6. 野火i.MX6ULL Pro开发板U-Boot移植
  7. ALC(访问控制列表)
  8. mmdetection 环境配置与简单测试(mmrotate同理)
  9. 疫情中的日本东京it工作
  10. BI商业智能培训系列——(一)概述