`
sodler
  • 浏览: 14686 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

django project与app

 
阅读更多

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机内容一般。

分享到:
评论

相关推荐

    Packt.Django.Project.Blueprints.2016

    Extend Django's built-in models and forms to add common functionalities into your project, without reinventing the wheel Gain insights into the inner workings of Django to better leverage it Book ...

    【初识Django:轻松掌握Web框架实战技巧】源码资料

    4. **URL路由(URLs)**:在`djangoProject/app_name/urls.py`和`djangoProject/urls.py`中,定义了URL模式与视图的映射关系。当用户访问特定URL时,Django会根据配置的URL模式找到相应的视图函数来处理请求。 除了...

    django配置app中的静态文件步骤

    2 配置整个project下的静态文件,适用于那些和单独app关联不大的文件,比如jquery bootstrap 等等 配置步骤: 首先,我们需要确认在settings.py文件中的INSTALLED_APPS变量中存在 django.contrib.staticfiles ...

    Django 创建新App及其常用命令的实现方法

    在进行Django框架的开发过程中,创建新的应用程序(App)是一项基础且重要的工作。本文将详细介绍如何在Django框架中创建一个新App,并展示一些常用的Django命令及其使用方法。通过示例代码,我们能够更加直观地理解...

    django-project-manager:用于项目管理的示例 Django 项目

    2. **应用程序**:在 `django-project-manager` 中,可能存在一个或多个应用程序,如 `project_app` 和 `task_app`,它们负责具体的业务逻辑。每个应用程序有自己的 `models.py`(数据库模型)、`views.py`(视图...

    django笔记 django笔记

    设置项目时,使用`django-admin startproject project_name`创建新项目,然后通过`python manage.py startapp app_name`创建应用。 3. **模型(Models)**: 模型是Django中数据的抽象,定义了数据库表的结构。在...

    Django框架基础教程(一):简单介绍PythonDjango框架.pdf

    - **新建项目**:`django-admin.py startproject project-name` 或 `django-admin startproject project-name` - **新建APP**:`python manage.py startapp app-name` 或 `django-admin.py startapp app-name` - ...

    django-project-template:用于在Django中初始化新项目的模板存储库

    (curl -s https://raw.githubusercontent.com/app-shack/django-project-template/v1.1.1/init.sh) 在终端中运行命令将设置一个新的Django项目,并提供Django应用程序的模板,并使用Docker和Ansible在专用计算机上...

    django入门-增删改实例

    django-admin startproject DjangoProject cd DjangoProject python manage.py startapp user_info ``` 2. **定义模型(Models)** 在`user_info/models.py`中,我们需要定义用户信息的数据模型。例如: ```...

    django-project-skeleton:又名骨架。 Django项目的模板

    - **app1, app2, ...**:这些是自定义的Django应用,每个应用有自己的模型、视图、模板和URL配置。 - **static** 和 **templates** 目录:分别存储静态文件(如CSS、JavaScript)和HTML模板。 - **tests**:测试目录...

    Practical Django 2 and Channels 2

    The book starts with the basics and explains the difference between a Django project and a Django app, the most important settings, how to change them, and the fundamentals of packaging. You'll then ...

    Django企业博客搭建.rar

    2. **创建项目**:安装完成后,启动命令行,使用`django-admin startproject blog_project`命令创建一个新的Django项目。这将创建一个包含基础结构的文件夹。 3. **创建应用**:在项目目录下,运行`python manage....

    Django_project_app_NEWS

    ПереходимвпапкуспроектомкоторыйхотимзапуститьСоздаемвиртуальноеокружение:python -m venv test-django Активируемок...

    MLTool-BoilerPlate-DjangoProject:用于构建机器学习应用程序的Django网络应用程序。 它具有电子邮件支持、多线程、异步任务和作业跟踪

    Boiler Plate for Django ML Web Projects 这个 Django 项目最初是为... cd MLTool-BoilerPlate-DjangoProject 安装所需的依赖项。 运行pip3 install -r requirements.txt 。 在 project/settings.py 文件中添加您的

    django整合mysql实现对外提供接口

    1. `django-admin startproject [project_name]`:创建一个新的Django项目。 2. `python manage.py runserver`:启动开发服务器,用于本地测试。 3. `python manage.py migrate`:应用数据库迁移,确保模型与数据库...

    Django1.6 官方文档

    - **编写第一个 Django 应用程序,共六个部分 (Writing your first Django app, parts 1-6)** - **高级教程:如何编写可重用的应用程序 (Advanced tutorial: How to write reusable apps)** - **下一步阅读建议 ...

    Django常用DOS命令

    Django提供了两个命令来处理模型与数据库的同步: - `python manage.py makemigrations`:这一步会生成迁移文件,记录了模型的改动。 - `python manage.py migrate`:执行这个命令,迁移文件中的改动会被应用到...

    Python Django Demo项目

    在命令行输入`django-admin startproject project_name`,其中`project_name`是你的项目名称。这将创建一个包含基本结构的项目目录。 3. **应用创建**:在项目目录下,通过`python manage.py startapp app_name`...

    django入门到放弃

    安装Django后,你需要创建一个新的Django项目,使用`django-admin startproject project_name`命令。接着,创建应用,如`python manage.py startapp app_name`。每个Django项目可以包含多个应用,每个应用专注于特定...

Global site tag (gtag.js) - Google Analytics