django框架面试常问的问题,python django面试题

  django框架面试常问的问题,python django面试题

  以下是Django面试中的一些常见问题。

  对Django的认识?

  1.Django是一个大而全的方向。最出名的是全自动化管理后台:只需要使用ORM,做简单的对象定义,就可以自动生成数据库结构和全功能的管理后台。

  2.Django内置的ORM与框架中的其他模块高度耦合。应用必须使用Django内置的ORM,否则无法享受基于其ORM的框架所提供的便利;理论上可以关闭ORM模块,但这相当于把装修好的房子拆了重新装修。还不如一开始就去胚胎房做一个全新的改造。

  3.Django的卖点是开发效率,性能拓展有限;当Django项目的流量达到一定规模时,都需要进行重构,以满足性能要求。

  4.Django适合中小型网站,或者作为大型网站快速实现产品原型的工具。

  5.5的设计理念。Django模板是将代码和风格完全分离;Django从根本上消除了在模板中编码和处理数据的可能性。

  Django 、Flask、Tornado的对比

  1.Django走的是大而全的方向,开发效率高。它的MTV框架,自带的ORM,admin后台管理,自带的sqlite数据库和用于开发测试的服务器,提高了开发者的开发效率。

  2.Flask是一个轻量级的框架,它是免费的、灵活的、高度可扩展的。其核心是基于Werkzeug WSGI工具和jinja2模板引擎。

  3.龙卷风是朝着少而精的方向,性能优越。它最著名的是异步和非阻塞设计,Tornado的两个核心模块:1。iostraem:非阻塞套接字的简单封装;2.io loop:I/O多路复用的封装,实现单个实例。

  什么是wsgi,uwsgi,uWSGI?

  WSGI:web服务器网关接口是一组协议。用于接收用户请求,第一次封装请求,然后将请求交给web框架。

  实现wsgi协议的模块:1.wsgiref,本质上是写一个接收用户请求的socket服务器(django) 2.werkzeug,本质上是写一个接收用户请求的socket服务器(flask)。

  Uwsgi:和wsgi一样,是一种通信协议,是Uwsgi服务器的专有协议,用于定义传输信息的类型。

  UWSGI:是一个web服务器,它实现了WSGI协议、UWSGI协议、http协议,

  django请求的生命周期?

  1.wsgi,请求被封装并交给web框架(Flask,Django)

  2.中间件,它检查请求或将其他相关数据添加到请求对象,如csrf、request.session-

  3.路由匹配根据浏览器发送的不同URL匹配不同的视图功能。

  4.视图功能,在其中处理业务逻辑,可能涉及:orm,templates=rendering-

  5.中间件,处理响应数据。

  6.wsgi,将响应的内容发送给浏览器。

  简述什么是FBV和CBV?

  FBV和CBV的本质是一样的。基于函数的观点被称为FBV,基于类的观点被称为CBV。在python中使用CBV的优势:

  1.提高代码的复用性,可以使用面向对象的技术,比如Mixin(多重继承)

  2.可以用不同的函数来处理不同的HTTP方法,而不是用很多if来判断,从而提高代码的可读性。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: