Python3廖雪峰实战项目:难点RequestHandler

来源:互联网 发布:曲子龙 网络尖刀 编辑:程序博客网 时间:2024/06/04 18:17

最近一直在补别的知识点,个人博客实战项目就耽误了一段时间,不过,再次看day5清晰了一些;但是对新手上路的我,还是一脸懵逼(黑人问号脸?),所以这里稍微记录下自己的理解(本课内容还没有吃透,后面还要回过来研究,暂时先告一段落)。

day5 的重点是自己动手撸一个Web框架,我特地去浏览了一遍asyncio的api,再加上网上各位大大的解疑博客,小白大概理清了本课的以下几个重难点:

首先Web框架需要处理啥?

简单说,就是通过request实现前台视图view和后台的交互,即后台发送request给前台,前台解析并显示;前台发送request给后台,中间要经过解析转换成后台可以处理的事务。Web框架就是对这些request进行标准化处理。

其次,核心函数及类有哪些?

day5主要完成三个py文件:coroweb.py、app.py、handlers.py
coroweb.py下核心类:RequestHandler
app.py下核心函数:data_factory、response_factory

  1. RequestHandler类:借助handler的特性,接收request,并处理request、url的参数标准化,返回一个标准的Web.Response对象,符合aiohttp的流程。

    • 获取需要的参数列表
    • 把request携带的参数解析为需要的参数形式
    • 检查解析的参数是否正确
    • 最后传递参数
  2. data_factory:集中处理request数据格(POST:’application/json’、’application/x-www-form-urlencoded’、’multipart/form-data’)

  3. response_factory:生成标准HTTP response的函数工厂,利用handler的性质,接收request,返回浏览器可识别的Response对象

0 0
原创粉丝点击