Django正式开始了!
这里我使用的是python+django3.0+pycharm专业版
下面是django的下载地址:https://www.djangoproject.com/download/
创建Project
首先我们需要创建一个django项目, 然后所有的代码都会放到这个里面
这里创建项目用到:
django-admin startproject mysite #项目名是mysite
在pycharm专业版中直接就可以创建django项目
创建好的项目目录结构是这个样子的
mysite
├── manage.py # 管理程序的文件,启动和结束等。
└── my site
├── __init__.py
├── settings.py # 程序的配置文件
├── urls.py # 程序的路由系统,即:url和处理其函数的对应的关系
└── wsgi.py # 指定框架的wsgi
命令帮助我们创建了几个文件,通过文件将功能代码归类。
项目创建完之后,再创建app
创建APP
一个项目中会包含一个或多个子项目,每个项目实现不同的功能和服务,如微信里包含基本通信功能,还有支付、小程序等,每块业务都可以分为一个子项目。在django中, 我们管这个子项目叫app。下面是一个有多app的项目
为了开发和维护方便,每个子项目(app)都会有一个独立文件夹来存放各自的业务代码。
一般程序简单情况下,只需要创建一个app即可。
python manage.py startapp apps # apps是app的名称
Django请求
Web Server 的请求流程
- 1.匹配路由,路由分发器查找用户请求的url对应关系
- 1.找到了业务函数,就调用
- 2.找不到就报404
- 2.业务函数,执行业务逻辑
- 3.返回数据给浏览器
django请求流程
- 1.urls.py 编写路由
- 2.在views.py 写一个业务函数
- 2.1 编写业务 代码
- 2.2 通过HttpResponse 方法返回数据给前端
- 3.python manage.py runserver 0.0.0.0:8000
HTTP请求本质
浏览器访问网站的本质:socket客户端、socket服务端之间的收发消息。
流程:
-
【服务端】网站启动,并监听IP和端口,如:127.0.0.1:80,等待客户端来连接…
-
【客户端】浏览器中输入http://www.oldboyedu.com/index/,浏览器先后进行:
- 连接:域名解析得到网站IP,并根据端口进行连接。
- 发送消息:将请求数据发送给服务端,发送数据本质上是字符串,格式如下:
GET /index/ http1.1\r\nhost:www.luffycity.com…..\r\n\r\n
POST /index/ http1.1\r\nhost:www.luffycity.com...\r\n\r\nage=18&num=1
- 【服务端】接收用户请求发来的数据,并根据请求字符串解析,并做出响应。
响应:HTTP/1.1 200 OK\r\nContent-Type: text/html;...\r\n\r\n<html>...</html>
-
【客户端】接收服务端响应的内容,将响应体展示在浏览器上,响应头偷偷保存到浏览器。
-
【客户端】【服务端】连接断开,Http请求终止(体现了Http短连接)。
注意:请求和响应基本包含请求头和请求体并通过\r\n\r\n进行分割。