######################################## Django基本思想和操作 ######################################## 一、Django基本思想 **************************************** ​ Django的思想是MVC设计模式思想的变种,目的是解耦合。。Django设计思想被称为MTV: 1. Model(模型) Model负责业务对象和数据库对象之间的交互 2. Template(模板) Template定义用户界面 3. View(视图) View负责业务逻辑,用于调用Model和Template。 此外,Django还添加了 ``URL控制器`` ,用于响应url请求。 **url访问流程** 当服务器接收到一个url请求时,首先由url控制器匹配相应的view,然后view使用通过Model从数据库中获得数据,对Template进行渲染,然后将渲染后的界面返回给用户。 二、Django项目 **************************************** 1.创建项目 ======================================== .. code:: python3 django-admin startproject 项目名 ​ 在控制台执行以上代码即可生成一个Django项目。 2.项目 ======================================== 先创建一个study项目: .. code:: python3 django-admin startproject study 其目录结构如下: :: study ├── manage.py └── study ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py =========== ========================================== 文件 用途 =========== ========================================== manage.py Django的管理文件,Django的很多命令都要用到 **init**.py 用于说明这是一个python项目 setting.py 是Django的设置文件 urls.py 就是url管理器,用于响应用户的url请求 wsgi.py 项目和WSGI兼容的服务器入口 =========== ========================================== 3.App ======================================== 上面生成的项目只是一个框架。而App则用于实现web项目的主题。一个Django项目可以有很多App,但是App之间不能同名,App也不能和项目同名。 .. code:: python3 # 创建app python manage.py startapp App名 ​ 首先进入项目目录,然后执行上述指令,即可生成一个App: .. code:: python3 python manage.py startapp study1 ​ 上面创建了一个名为study1的App,现在项目目录结构如下: :: study ├── manage.py ├── study │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-37.pyc │ │ └── settings.cpython-37.pyc │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── study1 ├── __init__.py ├── admin.py ├── apps.py ├── migrations │ └── __init__.py ├── models.py ├── tests.py └── views.py 在 **study1** App 目录中: ========= ================================= 文件 用途 ========= ================================= admin.py 站点配置 apps.py models.py 模型文件,与数据库进行交互 views.py 视图文件,用于调用Model和Template ========= =================================