1 django 中FBV 和 CBV 分别代表的是什么?
答: 基于函数的试图叫做FBV,基于类的试图叫做CBV
在python中使用CBV的有点:
1.提高了代码的复用性,可以使用面向对象的技术,比如MIxin(多继承)
2.可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码的可读性
2 django路由系统中name的作用?
Django 路由系统重点之路由别名name,使用path("/" views.***, name = "***"),不论后台路径如何
进行参数修改,前台访问的路径不变,这样方便开发。
3 响应式所包含的状态码有哪些?写出常用的状态码?
1**:指示信息--表示请求已经接收,继续处理
2**:成功--表示请求已被成功接受,理解,接受
3**:重定向--要完成请求必须更近一步的操作
4**:客户端错误--请求有语法错误或要求无法实现
5**:服务器端错误--服务器未能实现合法的请求
200 客户端请求成功 400 语法有错误
401 状态码不对 404 请求资源不存在
500 服务器发生错误 503 服务器不能处理客户端要求
4 简述链接sqllites3 和mysql 的区别?
SQLITE功能简约,小型化,追求最大磁盘效率
MYSQL 功能全面,综合化,追求最大并发效率
5 python中yield的用法?
yield简单来说就是一个生成器,这样函数它记住上次返回时在函数体中的位置,对生成器第二次第n次 调用跳转至该函数 调用跳转至该函数
6 DJango 本生提供了runserver,为什么不能用来部署?
runserver 方法是调用Django 时经常用到的运行方式,它使用Django 自带的WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程
7 常用的mysql 引擎有哪些? 各引擎有什么区别?
答: 书要是mylsam 和 lnnoDB 两个引擎,主要区别如下
1. innodb 支持事务,这一点非常重要,事务是一种高级的处理方式,如果在一些增删中如果有错
可以换源回滚,myisam 不支持事务
2 myisam 适合查询以及插入为主的应用,lnnodb适和频繁的修改以及设计到安全性能较高的应用
3 innodb 适合外键 mysiam 不适合外键
4 mysql 中默认的mysian 引擎 ,如果要用innodb 需要指定
5 innodb 不支持副文本
6、对于自增长的字段,InnoDB 中必须包含只有该字段的索引,但是在 MyISAM
表中可以和其他字段一起建立联合索引;
7、清空整个表时,InnoDB 是一行一行的删除,效率非常慢。MyISAM 则会重
建表;
8、InnoDB 支持行锁(某些情况下还是锁整表,如 update table set a=1 where
user like ‘%lee%’
8 Django 中的request 对象是什么时候创建的?
答:当urlconf 文件匹配到用户输入的路径后,会调用对应的view函数,并将 Httprequest对象
作为第一个参数传输函数。并返回相应的requesgt对象。