廖雪峰python学习笔记之Web开发

一提到web开发,我就想起来我一直没完成的Django爬虫界面,好丧,好难过,其实个中机制也不理解,所以就像趁着这个机会整理一下,然后嘞,暑假想做个个人博客,好久没写代码了,就很气,手就很痒,哈哈哈~

MVC

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范。

MVC框架图(必须理解的哦)

MVC模型
以下在详细解说这三部分分别是什么:

  • Model(模型):模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

  • View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。比如由html元素组成的网页界面,或者软件的客户端界面。

  • controller(控制器):指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据,角色相当于调度员

⚠️:我们需要做的就是在代码中处理Model和Controller,而View通过模版处理。

对MVC稍稍有点理解之后呢,在来看看廖大大给我们讲了什么

Http协议

HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信

chrome开发者模式

开发者模式在之前学习爬虫的时候已经用过了,所以还算熟悉,这里再将一些细节整理一下

常用功能:Network 显示浏览器和服务器的通信。
其中常用请求头和响应头:
Request Headers
Response Headers
这里写图片描述
⚠️:
1. 使用Content-Type字段来判断响应的内容是网页还是图片,是视频还是音乐。浏览器并不靠URL来判断响应的内容。
2. 当存在Content-Encoding时,Body数据是被压缩的,最常见的压缩方式是gzip,所以,看到Content-Encoding: gzip时,需要将Body数据先解压缩,才能得到真正的数据。

Http请求

这块是以前不了解的,所以这部分先暂时照搬廖大大的,不好意思了….
步骤1:浏览器首先向服务器发送HTTP请求,请求包括:

方法:GET还是POST,GET仅请求资源,POST会附带用户数据;
路径:/full/url/path;
域名:由Host头指定:Host: www.sina.com.cn
以及其他相关的Header;
如果是POST,那么请求还包括一个Body,包含用户数据。

步骤2:服务器向浏览器返回HTTP响应,响应包括

响应代码:200表示成功,3xx表示重定向,4xx表示客户端发送的请求有错误,5xx表示服务器端处理时发生了错误;
响应类型:由Content-Type指定;
以及其他相关的Header;
通常服务器的HTTP响应会携带内容,也就是有一个Body,包含响应的内容,网页的HTML源码就在Body中。

步骤3:如果浏览器还需要继续向服务器请求其他资源,比如图片,就再次发出HTTP请求,重复步骤1、2。

Html、CSS、JS三个小伙伴

这三个东西,话说我以前自学过,但是呢,因为没怎么应用所以久而久之就凉了,哎,先记些要点吧

  • HTML:定义页面的内容
  • CSS:控制页面元素的样式
  • JS:负责页面的交互逻辑

WSGI接口

python内置模块:wsgiref 可用于开发和测试用的WSGI服务器
一个小栗子:
第一步:实现Web应用程序的WSGI处理函数:

# hello.py

def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return [b'<h1>Hello, web!</h1>']

第二步:负责启动WSGI服务器,加载application()函数:

# server.py
# 从wsgiref模块导入:
from wsgiref.simple_server import make_server
# 导入我们自己编写的application函数:
from hello import application

# 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
httpd = make_server('', 8000, application)
print('Serving HTTP on port 8000...')
# 开始监听HTTP请求:
httpd.serve_forever()

第三步:将两个文件置于一个目录下,然后执行python3 server.py即可,启动成功后,打开浏览器,输入http://localhost:8000/,就可以看到结果了

后面呢,还介绍了web框架和模版,就没什么好讲的了,感觉应用还是最好的老师,已经蠢蠢欲动想做一下博客了,但是内心有些惶恐,因为要看官方文档。。。
预告:这是倒数第二篇廖雪峰系列的了

猜你喜欢

转载自blog.csdn.net/alicelmx/article/details/80394080
今日推荐