Django – 创建第一个Django项目

在开始创建Django项目之前,先要理解两个概念:请求与响应、MVC(在Django中称为MTV)。

什么是请求与响应

请求:又称为HTTP请求,指从客户端到服务器端的请求消息。包括:请求行、请求头、消息体。消息行中,有对资源的请求方法、资源的标识符及使用的协议。例如:

1
POST http://xg.mediportal.com.cn/health/sms/verify/telephone HTTP/1.1

请求头中包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。例如:

1
2
3
4
5
6
User-Agent: DGroupPatient/1.052701.230/Dalvik/2.1.0 (Linux; U; Android 5.1.1; KIW-AL10 Build/HONORKIW-AL10)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Host: xg.mediportal.com.cn
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 33

请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户端要向服务器端发送的信息,当然如果不需要向服务器端发送信息,也可以没有。例如:

1
2

telephone=15527177736&userType=1&

响应:也成为HTTP响应,指从服务器端到客户端的响应消息。与HTTP请求相似,HTTP响应也由3个部分构成,分别是:状态行、响应头、响应正文。状态行由协议版本、数字形式的状态代码、及相应的状态描述,各元素之间以空格分隔。例如:

1
HTTP/1.1 200 OK

响应头主要包含服务器发送的数据相关信息,比如返回数据的类型、长度等等。例如:

1
2
3
4
5
6
7
8
Date: Tue, 31 May 2016 02:09:24 GMT
Content-Type: application/json;charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: X-Requested-With,access_token,access-token,content-type,multipart/form-data,application/x-www-form-urlencoded
Access-Control-Allow-Methods: GET,POST,OPTIONS
Content-Length: 49

响应头和响应正文之间也有一个空行,表示响应头结束。响应正文包含了服务器端向客户端发送的数据。例如:

1
2

{"resultCode":1,"resultMsg":"手机号未注册"}

通过下面的图理解请求与响应的流程:

请求与响应
请求与响应

什么是MVC

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

目标:将模型(数据)和视图(显示)解耦合。

通过控制器,将数据和显示分离,好处是同一个视图可以加载不同的模型,同一个模型也可以显示成不同的视图。

稍具规模的系统都会使用MVC架构或者它的变体(MVP、MVVM等)。

通过下面的图来理解MVC的工作模式:

MVC
MVC

在Django中将这种模式称为MTV :模型(Model)- 模板(Template,对应视图) - 视图(View,对应控制器)

创建第一个Django项目

Windows下步骤:

(在黑屏终端中执行)

python -m venv 虚拟环境名 创建项目虚拟环境

cd 虚拟环境文件名/Scripts 进入虚拟环境

activate.bat 激活虚拟环境

pip install django==版本号 在虚拟环境下安装django django-admin --version 查看版本

django-admin startproject 项目名 . 创建django项目

python manage.py runserver 开启服务

Linux下步骤:

mk 项目目录 创建django项目目录

cd 项目目录 进入项目目录

python -m venv 虚拟环境名 创建项目虚拟环境

source 虚拟环境目录/bin/activate 激活虚拟环境

python -m pip install --upgrade pip 更新pip

pip install django==版本号 在虚拟环境下安装django django-admin --version 查看版本

django-admin startproject 项目名 . 创建django项目

python manage.py runserver 开启服务

开启了服务之后,在浏览器中输入 127.0.0.1:8000localhost:8000 回车,出现Django界面,第一个Django项目就创建成功了。如下图:

Django运行
Django运行