python框架面試題聯絡
1、對 MVC,MVT 解讀的理解?
M:Model,模型,和資料庫進行互動
V:View,檢視,負責產生 Html 頁面
C:Controller,控制器,接收請求,進行處理,與 M 和 V 進行互動,返回應答。
1、 使用者點選注按鈕,將要註冊的資訊傳送給網站伺服器。
2、 Controller 控制器接收到使用者的註冊資訊,Controller 會告訴 Model 層將使用者的註冊資訊儲存到資料庫
3、 Model 層將使用者的註冊資訊儲存到資料庫
4、 資料儲存之後將儲存的結果返回給 Model 模型,
5、 Model 層將儲存的結果返回給 Controller 控制器。
6、 Controller 控制器收到儲存的結果之後,或告訴 View 檢視,view 檢視產生一個 html 頁面。
7、 View 將產生的 Html 頁面的內容給了 Controller 控制器。
8、 Controller 將 Html 頁面的內容返回給瀏覽器。
9、 瀏覽器接受到伺服器 Controller 返回的Html 頁面進行解析展示。
M:Model,模型,和 MVC 中的 M 功能相同,和資料庫進行互動。
V:view,檢視,和 MVC 中的 C 功能相同,接收請求,進行處理,與 M 和
T:Template,模板,和 MVC 中的 V 功能相同,產生 Html 頁面
1、 使用者點選註冊按鈕,將要註冊的內容傳送給網站的伺服器。
2、 View 檢視,接收到使用者發來的註冊資料,View 告訴 Model 將使用者的註冊資訊儲存進資料庫。
3、 Model 層將使用者的註冊資訊儲存到資料庫中。
4、 資料庫將儲存的結果返回給 Model
5、 Model 將儲存的結果給 View 檢視。
6、 View 檢視告訴 Template 模板去產生一個 Html 頁面。
7、 Template 生成 html 內容返回給 View 檢視。
8、 View 將html 頁面內容返回給瀏覽器。
9、 瀏覽器拿到 view 返回的 html 頁面內容進行解析,展示。
2、Django 中models 利用 ORM 對 Mysql 進行查表的語句(多個語句)?
欄位查詢
all():返回模型類對應表格中的所有資料。
get():返回表格中滿足條件的一條資料,如果查到多條資料,則拋異常:MultipleObjectsReturned,查詢不到資料,則拋異常:DoesNotExist。
filter():引數寫查詢條件,返回滿足條件 QuerySet 集合資料。條件格式:
**模型類屬性名** 條件名=值
注意:此處是模型類屬性名,不是表中的欄位名
3、django 開發中資料庫做過什麼優化?
-
設計表時,儘量少使用外來鍵,因為外來鍵約束會影響插入和刪除效能;
-
使用快取,減少對資料庫的訪問;
-
在 orm 框架下設定表時,能用 varchar 確定欄位長度時,就別用 text;
-
可以給搜尋頻率高的欄位屬性,在定義時建立索引; 5.Django orm 框架下的 Querysets 本來就有快取的;
-
如果一個頁面需要多次連線資料庫,最好一次性取出所有需要的資料,減少對資料庫的查詢次數;
-
若頁面只需要資料庫裡某一個兩個欄位時,可以用 QuerySet.values();
-
在模板標籤裡使用 with 標籤可以快取 Qset 的查詢結果。