django project与app

Django项目(project)主要负责配置,如数据库连接、安装的app列表等,而应用(app)是一套包含模型和视图的功能集合,可被多个项目重用。简单的web站点可能只需一个app,复杂项目则需将功能划分为多个app。创建新app的命令是`python manage.py startapp books`,这会在项目目录下生成包含models.py和views.py的文件夹,用于编写模型和视图。project与app的关系可以比喻为拼图的完整框架与单片拼图的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

project:工程

app(application):应用,应用程序

它们的区别就是一个是配置另一个是代码:

一个project包含很多个Django app以及对它们的配置。

技术上,project的作用是提供配置文件,比方说哪里定义数据库连接信息, 安装的app列表, TEMPLATE_DIRS(template_dirs),等等。

一个app是一套Django功能的集合,通常包括模型和视图,按Python的包结构的方式存在。

例如,Django本身内建有一些app,如注释系统和自动管理界面。值得关注的是,这些app很容易移植到其他project和被多个project重用。

如果你只是建造一个简单的web站点,那么可能你只需要一个app就可以了。如果是复杂的像淘宝等电商之类的Web站点,你可能需要把这些功能划分成不同的app,以便以后重用。

确实,还可以不用创建app,例如以前写的视图,只是简单的放在 views.py ,不需要app。

当然,系统对app有一个约定:如果你使用了Django的数据库层(模型),你必须创建一个django app。模型必须在这个app中存在。因此,为了开始建造我们的模型,我们必须创建一个新的app。

转到 mysite 项目目录,执行下面的命令来创建一个新app叫做books:

python manage.py startapp books

1

这段命令行代码运行时并不输出任何结果,但是它在 mysite 目录下创建了一个 books 的文件夹。这个文件夹里的内容如下:

books/

    __init__.py

    models.py

    views.py

2

这些文件里面就包含了这个app的模型和视图。

看一下 models.py 和 views.py 文件。它们都是空的,除了 models.py 里有一个 import。

 

其实可以抽象的理解为project就是最终完成的项目(例如一份拼图),而app就是拼图上的一片,多个app组成一个大型的项目(好比分裂成1000片的拼图),单个app组成小的项目(好比9片的儿童拼图),而在不同project中重用app也就是相同功能的调用(例如摩托车和汽车两种不同的框架中装上相同的起到发动机作用的零件),单个app完成的简单内容就如本菜目前联系的网页pos机内容一般。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值