文章目录
- 2. Python Web基础
-
- 2.1. Django、Flask、Tornado、Twisted框架的比较?
- 2.2. Tornado 的核是什么?
- 2.2.1. 解释一下 Django 和 Tornado 的关系、差别?
- 2.3. 如何理解 Django 被称为 MTV 模式?
- 2.4. 解释下什么是 ORM 以及它的优缺点是什么?
- 2.5. Django 和 Flask 框架的优势?
- 2.6. Flask框架依赖组件?
- 2.7. 简述Tornado框架的特点?
- 2.8. 在 Django 的 settings 中,设置DEBUG = True 和 DEBUG = False 的差别是什么?
- 2.9. 在 Django 中 MIDDLEWARES 中间件的作用
- 2.10. Django 系统中如何配置数据库的长连接?
- 2.11. Django中csrf的实现机制
- 2.12. Django 中当一个用户登录 A 应用服务器(进入登录状态),然后下次请求被 nginx 代理到 B 应用服务器会出现什么影响?
- 2.13. 如何部署 Django 系统?
- 2.14. 如何监控 Django 系统?
- 2.15. Django重定向你是如何实现的?用的什么状态码?
- 2.16. Django 本身提供了 runserver,为什么不能用来部署?
- 2.17. 如何排查 Django 系统中的性能问题?
- 2.18. 解释下 django-debug-toolbar的使用?
- 2.19. 解释下Django使用redis缓存服务器
- 2.20. 为什么要使用 Django rest framework 框架?
- 2.21. Ngnix的正向代理与反向代理?
- 2.22. Post 和 Get 区别?
- 2.23. cookie 和session 的区别?
- 2.24. 创建一个简单tcp服务器需要的流程
- 2.25. 介绍一下Python中webbrowser的用法?
- 2.26. 介绍一下Python中的selenuim?
- 2.27. 解释一下 WSGI 和 FastCGI 的关系?
- 2.28. 解释下Http协议
- 2.29.1. HTTP2.0
- 2.30. http2.0性能瓶颈
- 2.31. 解释下RPC协议(Remote Procedure Call Protocol)
- 2.32. gRPC
- 2.33. Gunicorn 是什么?
- 2.34. 三次握手
- 2.35. CSRF和XSS的区别
- 2.36. 网络7层协议
2. Python Web基础
2.1. Django、Flask、Tornado、Twisted框架的比较?
2.1.1. Django:
Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。
Django内置的ORM跟框架内的其他模块耦合程度高。
应用程序必须使用Django内置的ORM,否则就不能享受到框架内提供的种种基于其ORM的便利;理论上可以切换掉其ORM模块,但这就相当于要把装修完毕的房子拆除重新装修,倒不如一开始就去毛胚房做全新的装修。
Django的卖点是超高的开发效率,其性能扩展有限;采用Django的项目,在流量达到一定规模后,都需要对其进行重构,才能满足性能的要求。
Django适用的是中小型的网站,或者是作为大型网站快速实现产品雏形的工具。
Django模板的设计哲学是彻底的将代码、样式分离;
Django从根本上杜绝在模板中进行编码、处理数据的可能。
Django 的项目代表:Instagram,Guardian。
2.1.2. Flask:
Flask 是微框架的典范,号称 Python 代码写得最好的项目之一。
Flask相对于Django而言是轻量级的Web框架。和Django不同,Flask轻巧、简洁,通过定制第三方扩展来实现具体功能。