天才一秒记住【狂风中文网】地址:https://www.kfzw.net
“你平时主要写什么语言?”
“python。”
“框架呢?”
“flask。
最近在看django。”
本点点头:“flask入门快,django重型一点,適合大项目。
你觉得这两个最大的区別是什么?”
陈哲想了想:“flask自由,django规范。
flask让你自己选用什么库,django把一套东西都给你配好。
flask適合快速原型和小项目,django適合团队协作和长期维护。”
本听著,点了点头。
然后他忽然问了一个问题:“flask的上下文是怎么实现的?”
陈哲愣了一下。
本等著他回答。
陈哲沉默了两秒,然后开始说:“flask有应用上下文和请求上下文。
应用上下文存应用级別的配置和变量,请求上下文存当前请求的数据。
它们用栈来管理,推入和弹出,保证每个请求都有自己的隔离空间。
实现上用了localproxy和localstack,线程或者协程局部变量,避免互相干扰。”
本听完,沉默了几秒。
然后他又问:“那django的中间件是怎么工作的?”
陈哲想了想:“django的中间件是一个处理请求和响应的鉤子框架。
请求进来的时候,会按顺序经过每个中间件的process_request方法,然后到视图函数,返回的时候再经过process_response。
如果某个中间件返回了httpresponse对象,后面的就不走了。”
本盯著他,眉头微微皱了起来。
“你刚才说的那些,”
他顿了顿,“是从哪看的?”
“flask源码。”
陈哲说,“django文档。”
本沉默了几秒,然后端起咖啡喝了一口。
喝的时候,他呛了一下。
他把杯子放下,咳了两声,然后看著陈哲,眼神有点复杂。
“flask源码?”
他重复了一遍,“你把flask源码读了?”
陈哲点点头。
本又沉默了几秒,他往后靠在椅背上,盯著陈哲看了很久。
心中几乎在震颤。
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!