框架基础

框架实质:

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

B/S结构的响应:

import socket
def handle_request(client):buf = client.recv(1024)client.send("HTTP/1.1 200 OK\r\n\r\n".encode("utf8"))client.send("<h1 style='color:red'>Hello, yuan</h1>".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'<h1>Hello, web!</h1>']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

转载于:https://www.cnblogs.com/ftl1012/p/9397600.html

Python学习---Python的框架基础学习相关推荐

  1. Python科学计算之Pandas基础学习

    Python科学计算之Pandas基础学习 导入Pandas 我们首先要导入我们的演出明星--Pandas. 这是导入Pandas的标准方式.显然,我们不希望每时每刻都在程序中写'pandas',但是 ...

  2. java基础学安卓开发_Android开发学习路线之Java基础学习

    原标题:Android开发学习路线之Java基础学习 很多Android学习开发者刚入手Android开发技术时,稍微有点迫切.任何的开发技术都有其基础语言,Android应用程序开发是以Java语言 ...

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

    框架基础 框架实质: 所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端 B/S结构的响应: import socket def handle_requ ...

  4. 零基础学python多久可以工作-零基础学习python,要多久才可以学好并且找到工作?...

    原标题:零基础学习python,要多久才可以学好并且找到工作? 零基础的你想学习python肯定很关注学习python的最短时间是多久,怎样才能快速学习python等问题,今天就为大家详细地回答一下这 ...

  5. python 去掉双引号_Python基础学习笔记(一)变量与数据类型

    Python是一门易学的面向对象的程序设计语言,可以轻易地完成界面.文件.封装等高阶需求,可移植性好,有非常多功能强大的库与包,如Numpy(数值计算).SciPy(数学.科学与工程计算).Matpl ...

  6. 0基础学好python难不难_零基础学习Python难不难?Python有什么优势?

    原标题:零基础学习Python难不难?Python有什么优势? Python是一种计算机程序设计语言.首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个 ...

  7. Python适合初学者或者0基础学习吗?

    Python适合初学者或者0基础小白学习吗?很多人都比较关注这个问题,因为近几年Python在互联网行业的发展显而易见,它的就业几率也非常高,具体来看看下面的详细介绍吧. Python适合初学者或者0 ...

  8. 零基础自学python的建议-关于零基础学习 Python 有什么好的建议?

    Python这种高级编程语言,相比前编程明星C++和Java等更简单易操作.,目前Python已成为最受AI从业者欢迎的语言. Python的10个基础知识点 Python是一个面向对象的解释型的交互 ...

  9. 零基础自学python看什么书-零基础学习Python那些书值得看

    下面列出的所有资料中,有一部分是从头到尾全部读完的,也有一部分是他人推荐.希望给准备开始学习的朋友一点参考. 刚开始我学习Python的时候,并没有直接寻找书籍还有公开课,而是在思考是该学习Pytho ...

  10. python适合零基础学习吗-Python适合不适合零基础学习呢?老男孩教育

    Python适合不适合零基础人员学习?Python是一门比较高级流行的变成语言,该语言是非常适合零基础人员学习的,也是初学者的首选.很多人可能编程很难,所以在没有学习之前就觉得难以学习好,其实只要你愿 ...

最新文章

  1. CStopwatch的C++实现
  2. 使用java检测网络连接状况
  3. vncviewer 连接到服务器授权失败的解决方法/一些常用命令
  4. 配置git 账户密码时bash:$:command not found
  5. 并不对劲的bzoj4816:loj2000:p3704[SDOI2017]数字表格
  6. 【读书笔记】基础博弈知识小结
  7. 10tb服务器硬盘 选购,2017最靠谱大容量机械硬盘选购指南(基于Backblaze硬盘寿命可靠性报告)...
  8. jQuery 利用 $.getJson() 实现跨域
  9. mysql5.6.24怎么打开_mysql 5.6.24 安装配置方法图文教程
  10. java 生成bat_java实现生成windows可执行的批处理文件(.bat)
  11. Kickfire Enters into MySQL Enterprise Agreement with Sun
  12. Java并发编程:Lock(上)
  13. 易邮服务器com组件注册失败,com组件注册失败有什么办法可以解决
  14. 如何从官网下载Hibernate源码与jar包
  15. 实现Http Server的三种方法
  16. lvds接口_LVDS,接口,时序讲解,非常好的文章
  17. 万网域名注册、域名解析与备案流程
  18. 2015年1月工作记录和阅读记录
  19. enjoy 问候相关
  20. 【答学员问】培训班毕业的linux运维的女生,如何找到运维工作?

热门文章

  1. 未能找到类型名称MembershipProvider
  2. asp.net抓取网页html源代码失败 只因UserAgent作怪
  3. OsmocomBB编译及GSM嗅探问题(转)
  4. Android 开发工具下载
  5. Parcelable接口的使用
  6. C# winform+ springboot + mybatis 分页查询
  7. C# 自己绘制报表,GDI你会用吗?
  8. WinForm后台任务(定时任务)传递消息给主窗体并更新主窗体文本框内容
  9. jQuery基础资料(二)
  10. Python 帮助信息(pydoc模块)