注:以下内容转载自 现代魔法学院 网站的 创建一个简易的Django APP 一文,仅供学习使用。
APP
我们先来了解一下一些必要的概念。Django 里什么东西叫 APP 呢?
我们已经创建了 project , 那么 project 和 APP 之间到底有什么不同呢?它们的区别就是一个是配置另一个是代码:
一个 project 包含很多个 Django APP 以及对它们的配置。
技术上,project 的作用是提供配置文件,比方说哪里定义数据库连接信息,安装的 APP 列表,TEMPLATE_DIRS,等等。
一个 APP 是一套 Django 功能的集合,通常包括模型和视图,按 Python 的包结构的方式存在。
例如,Django 本身内建有一些 APP,例如注释系统和自动管理界面。APP 的一个关键点是它们是很容易移植到其他 project 和被多个 project 复用。
创建一个APP
在 “PythonProject” 项目文件下输入下面的命令来创建 “nowamagic” APP:
python manage.py startapp nowamagic
这个命令并没有输出什么,它只在 PythonProject 的目录里创建了一个 nowamagic 目录。让我们来看看这个目录的内容:
nowamagic/
__init__.py
models.py
tests.py
views.py
这个目录包含了这个 APP 的模型和视图。
使用你最喜欢的文本编辑器查看一下 models.py 和 views.py 文件的内容。它们都是空的,除了 models.py 里有一个 import。这就是你 Django APP 的基础。
对于如何架构 Django 代码并没有快速成套的规则。如果你只是建造一个简单的 Web 站点,那么可能你只需要一个 APP 就可以了; 但如果是一个包含许多不相关的模块的复杂的网站,例如电子商务和社区之类的站点,那么你可能需要把这些模块划分成不同的 APP,以便以后复用。
不错,你可以不用创建 APP,这一点已经被我们之前编写的视图函数的例子证明了 。在那些例子中,我们只是简单的创建了一个称为 views.py 的文件,编写了一些函数并在 URLconf 中设置了各个函数的映射。这些情况都不需要使用 APPs。
但是,系统对 APP 有一个约定: 如果你使用了 Django 的数据库层(模型),你必须创建一个 Django APP。模型必须存放在APPs 中。因此,为了开始建造我们的模型,我们必须创建一个新的 APP。
后面你会发现,APP 会给我们带来多大的便利。