1. Chapter: Django数据库模型
  1. 1. Django连接MySQL数据库的简单例子
  2. 2. Django遍历视图传递过来的元组
  3. 3. 理解Django里的MTV开发模式
  4. 4. 创建一个简易的Django APP
  5. 5. 创建我们第一个Django模型
  6. 6. Django用原始SQL进行Insert/Update操作

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:

1

python manage.py startapp nowamagic

这个命令并没有输出什么,它只在 PythonProject 的目录里创建了一个 nowamagic 目录。 让我们来看看这个目录的内容:

1

nowamagic/

2

__init__.py

3

models.py

4

tests.py

5

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会给我们带来多大的便利。

博客里大都是转载的内容,其目的主要用户知识的组织和管理。