07-16 django 76-80

______egon新书python全套来袭请看:https://egonlin.com/book.html

76.django-debug-toolbar 的作用?

django开发调试工具

django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息。

77.django 中如何实现单元测试?

Django的单元测试使用python的unittest模块,这个模块使用基于类的方法来定义测试。类名为django.test.TestCase,继承于python的unittest.TestCase。

执行目录下所有的测试(所有的test*.py文件):运行测试的时候,测试程序会在所有以test开头的文件中查找所有的test cases(inittest.TestCase的子类),自动建立测试集然后运行测试。

$ python manage.py test

执行animals项目下tests包里的测试:

$ python manage.py testanimals.tests

执行animals项目里的test测试:

$ python manage.py testanimals

单独执行某个test case:

$ python manage.py testanimals.tests.AnimalTestCase

单独执行某个测试方法:

$ python manage.py testanimals.tests.AnimalTestCase.test_animals_can_speak

为测试文件提供路径:

$ python manage.py testanimals/

通配测试文件名:

$ python manage.py test--pattern="tests_*.py"

启用warnings提醒:

$ python -Wall manage.py test

78.解释orm中dbfirst和codefirst的含义?

Code First From Database(DbFirst)数据库先行

Code First(代码先行)

79.django 中如何根据数据库表生成 model 类?

创建一个项目,修改setting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致

1.运行下面代码可以自动生成models模型文件
python manage.py inspectdb
2.把模型文件导入到app中

创建app

django-admin.py startapp app

将模型导入创建的app中去

python manage.py inspectdb > app/models.py

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

相对来说,ORM的缺点就是SQL的优势地方,而优点也是SQL的劣势地方

优点
  方便的使用面向对象,语句清晰
  防注入『这个其实不算ORM的核心,因为比如Phalcon的SQL形式写法也可以防注入』
  方便动态构造语句,对于不同的表的相同操作采用多态实现更优雅
  一定程度方便重构数据层『比如改表名,字段名等』
  设置钩子函数
缺点
  不太容易处理复杂查询语句
  性能较直接用SQL差
posted @ 2019-10-23 21:34  小猿取经-林海峰老师  阅读(894)  评论(0编辑  收藏  举报