Django介绍
Django发布于2005年,是Python世界里最成熟的网络框架,最初用来制作在线新闻的web站点。
Django是一个用Python编写的开源web应用框架。采用了MVC的框架模式,也有很多人把它称为MTV模式。
BS/CS架构图
MVC设计模式
简介
一种软件设计典范,用一种业务逻辑,使数据、界面显示分离的方式组织代码,将一种业务逻辑聚集到一个部件里面,在改进和个性化定制界面与用户交互的同时,不需要重新编写业务逻辑。
MVC被独特的发展起来,用于映射传统的输入、处理和输出功能在一个逻辑的图形化界面结构中。
核心思想
:解耦
优点
:降低模块之间的耦合度,方便变更,更容易重构代码,最大程度实现了代码的重用(已经学过的代码重用有:封装
、继承
)。
MVC 编程模式
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
Model
:用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法,是Web应用程序中用于处理应用程序的数据逻辑部分,Model通常只提供功能性的接口,通常这些接口可以获取Model的所有功能。View
:负责数据的显示和呈现,View是对用户的直接输出。Controller
:负责从用户端收集用户的输入,可以看成提供View的反向功能,主要处理用户交互。
Django的图解更像是:
MTV模式
简介
本质上和MVC没有任何区别,也是为了保持各个组件之间松耦合关系,只是定义上有些不同。
MTV 编程模式
- Model:负责业务对象与数据库(
ORM
)对象 - View:负责业务逻辑,并在适当的时候调用Model和Templete(相当于MVC的
Controller
) - Templete:负责将页面展现给用户(相当于MVC的
View
)
注意:Django中还有一个url分发器
(也叫路由
),主要用来将一个个的URL页面请求分发给不同的View进行处理,View再调相应的用Model和Templete。


Hello Django
安装
使用虚拟环境
安装
conda install django=1.11.7
使用 django-admin 来创建 HelloDjango项目:
django-admin startproject HelloDjango
创建完成后我们可以查看下项目的目录结构:
$ cd HelloWorld/
$ tree
.
|-- HelloWorld
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py `-- manage.py
目录说明:
- HelloWorld: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- HelloWorld/
__init__.py
: 一个空文件,告诉 Python 该目录是一个 Python 包。 - HelloWorld/settings.py: 该 Django 项目的设置/配置。
- HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
启动项目的不同方式
python manage.py runserver [ip:port]
- 直接进行服务运行,默认执行起来的端口是8000。
- 自己指定ip和端口。(ip指定为
0.0.0.0
的时候,匹配本机的全部ip)
python manage.py runserver 0.0.0.0:8000
在浏览器输入你服务器的 ip(这里我们输入本机 IP 地址: 127.0.0.1:8000
) 及端口号,如果正常启动,输出结果如下:
项目环境
- 开发环境
- 测试环境
- 演示环境
- 生产环境(线上环境)
修改字符集
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
再次启动项目,并查看网址