python学习框架图-Python学习---Python的框架基础学习

框架基础

框架实质:

所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端

B/S结构的响应:

import socket

def handle_request(client):

buf = client.recv(1024)

client.send("HTTP/1.1 200 OK ".encode("utf8"))

client.send("

Hello, yuan

".encode("utf8"))

def main():

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

sock.bind(('localhost',8001))

sock.listen(5)

while True:

connection, address = sock.accept()

handle_request(connection)

connection.close()

if __name__ == '__main__':

main()

WSGI: web server gateway interface

1.封装了socket对象以及准备过程[socket创建,bind, listen]

2.通过version,将所有的请求对象进行了封装,键值对通过字典的形式封装,通过key可以获取value

3.通过start_response()可以很方便的设置response响应头

常识:

请求分为请求头和请求体

如果是get请求: 数据包装在url里面,不需要请求体,只有请求头

如果是post请求: 数据包装在请求体里面

注意: 请求头和请求体通过2个换行符分隔

from wsgiref.simple_server import make_server

// application()函数必须由WSGI服务器来调用,因为我们本身无法传递实参给函数,实参是内部封装的。

def application(environ, start_response):

start_response('200 OK', [('Content-Type', 'text/html')])

return [b'

Hello, web!

']

httpd = make_server('', 8080, application)

print('Serving HTTP on port 8000...')

# 开始监听HTTP请求:

httpd.serve_forever()

MVC &&MTV

MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。

模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器(C)接受用户的输入调用模型和视图完成用户的请求。

Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:

Model(模型):负责业务对象与数据库的对象(ORM)

Template(模版):负责如何把页面展示给用户(存储HTML文件)

View(视图):负责业务逻辑,并在适当的时候调用Model和Template(类似MVC中的Conrtoller)

此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值