Django面试

作者: Farewell_lpf | 来源:发表于2019-06-12 13:58 被阅读0次
    1.什么是wsgi,uwsgi,uWSGI?

    wsgi:web服务器网关接口,是一套协议,用于接收用户请求并将请求进行初次封装,然后将请求交给web框架。
    uwsgi:与wsgi一样是一种通信协议,用于定义传输信息的类型
    uWSGI:是一个Web服务器,实现WSGI协议,uWSGI、http协议。

    2.生命周期

    wsgi,请求封装后交给web框架
    中间件:对请求进行校验或在请求对象中添加其他数据
    路由配置:根据url匹配不同的视图函数
    视图函数:在视图函数中进行业务逻辑处理
    中间件:对响应的数据进行处理
    wsgi:将响应的内容发送给浏览器

    3.简述FBV和CBV

    FBV:基于函数的视图
    CBV:基于类的视图
    CBV的优点:提高代码的复用性,可以使用面向对象的技术,如多继承(Mixin)。提高代码的可读性,可以用不同的函数针对不同的HTTP请求。

    4.路由中name的作用

    1.反向解析路由
    2.修改路由格式时,不至于修改所有引用的地方

    5.中间件的作用和场景

    在视图函数执行前后都可以做一些额外的操作。
    如:默认csrf保护,发送请求时判断用户是否登录以及是否在黑名单中

    6.使用orm和原生sql的优缺点?

    1.orm的开发速度快,操作简单。使开发更加对象化

    执行速度慢。处理多表联查等复杂操作时,ORM的语法会变得复杂

    2.sql开发速度慢,执行速度快。性能强

    相关文章

      网友评论

        本文标题:Django面试

        本文链接:https://www.haomeiwen.com/subject/ghzkfctx.html