Django

Django面试

2019-06-12  本文已影响0人  Farewell_lpf
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开发速度慢,执行速度快。性能强

上一篇 下一篇

猜你喜欢

热点阅读