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差