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'

再次启动项目,并查看网址