文章目錄
- 一、提出任務
- 二、實作步驟
- (一)創建Django專案 - books
- (二)創建并注冊應用 - index
- 1、創建index應用
- 2、注冊index應用
- (三)創建資料庫 - books
- (四)配置MySQL資料庫連接資訊
- (五)設定MySQL資料庫連接模塊
- (六)實作資料遷移生成表
- (七)創建模型
- 1、創建圖書模型 - Book
- 2、創建用戶模型 - User
- (八)資料遷移,生成圖書表與用戶表
- (九)給圖書表與用戶表添加記錄
- 1、給圖書表添加記錄
- 2、給用戶表添加記錄
- (十)創建模板頁面
- 1、創建登錄頁面 - login.html
- 2、創建圖書顯示頁面 - books.html
- (十一)設定路由
- 1、創建子路由
- 2、設定主路由
- (十二)創建視圖函式
- 1、創建跳轉到登錄頁面的視圖函式 - loginView
- 2、創建顯示圖書的視圖函式 - booksView
- 3、創建處理登錄請求的視圖函式 - doLoginView
- 4、解決子路由中視圖函式的匯入問題
- (十三)啟動專案,測驗效果
- 三、課后練習
- 任務:實作圖書記錄洗掉功能
一、提出任務
- 任務:顯示圖書資訊
- 圖書表結構

- 用戶表結構

- 用戶登錄成功,在模板頁面以表格方式顯示全部圖書資訊
- 用戶登錄失敗,彈出訊息框,提示“用戶名或密碼錯誤”,單擊【確定】按鈕,回傳登錄頁面
二、實作步驟
(一)創建Django專案 - books
- 創建Django專案,設定專案位置與專案名


(二)創建并注冊應用 - index
1、創建index應用
- 在專案組態檔里,匯入os模塊

- 在控制臺執行
python manage.py startapp index

- 啟動專案,訪問
http://127.0.0.1:8000

2、注冊index應用
- 在組態檔的INSTALLED_APPS串列里添加index應用

(三)創建資料庫 - books
- 在Navicat里創建MySQL資料庫 - books


(四)配置MySQL資料庫連接資訊
- 在settings.py檔案里配置MySQL資料庫連接資訊

(五)設定MySQL資料庫連接模塊
- 在books的
__init__.py檔案里設定資料庫連接模塊

- 如果匯入pymysql陳述句報錯,那么在控制臺執行
pip install pymysql安裝pymysql模塊
(六)實作資料遷移生成表
- 依次執行下述兩條命令

- 查看生成的資料表

(七)創建模型
1、創建圖書模型 - Book
- 在index的models.py檔案里定義Book模型類

2、創建用戶模型 - User

(八)資料遷移,生成圖書表與用戶表
- 依次執行下面兩條命令


- 查看生成的圖書表與用戶表



(九)給圖書表與用戶表添加記錄
1、給圖書表添加記錄
- 執行SQL查詢,插入表記錄
INSERT INTO `index_book` VALUES (1, '445501', 'TP3/12', '資料庫導論', '王文丹', '科學出版社', 17.90);
INSERT INTO `index_book` VALUES (2, '445502', 'TP3/12', '資料庫導論', '王文丹', '科學出版社', 17.90);
INSERT INTO `index_book` VALUES (3, '445503', 'TP3/12', '資料庫導論', '王文丹', '科學出版社', 17.90);
INSERT INTO `index_book` VALUES (4, '445505', 'TW2/12', '電工基礎', '楚留香', '機械工業出版社', 32.00);
INSERT INTO `index_book` VALUES (5, '332211', 'TP5/10', '計算機基礎', '李偉', '高等教育出版社', 18.00);
INSERT INTO `index_book` VALUES (6, '112266', 'TP3/12', '安卓開發實踐', '張慧明', '電子工業出版社', 55.00);
INSERT INTO `index_book` VALUES (7, '225544', 'TP7/21', '高等數學', '李小剛', '高等教育出版社', 25.00);
INSERT INTO `index_book` VALUES (8, '225533', 'TP7/12', '線性代數入門', '秦厚榮', '北京大學出版社', 25.00);
INSERT INTO `index_book` VALUES (9, '113388', 'TR7/90', '大學英語', '楊瓊', '北京外國語大學出版社', 30.00);
INSERT INTO `index_book` VALUES (10, '446601', 'TR4/13', 'Java程式設計', '張凱文', '工信集團出版社', 40.00);
INSERT INTO `index_book` VALUES (11, '446602', 'TR4/13', 'Java程式設計', '張凱文', '工信集團出版社', 40.00);
INSERT INTO `index_book` VALUES (12, '446603', 'TR4/13', 'Java程式設計', '張凱文', '工信集團出版社', 40.00);
INSERT INTO `index_book` VALUES (13, '449901', 'TR4/15', 'Spring Boot實踐', '秦文舉', '清華大學出版社', 50.00);
INSERT INTO `index_book` VALUES (14, '449902', 'TR4/15', 'Spring Boot實踐', '秦文舉', '清華大學出版社', 50.00);
INSERT INTO `index_book` VALUES (15, '118801', 'TR4/25', '計算機網路', '唐玉玲', '高等教育出版社', 32.00);
INSERT INTO `index_book` VALUES (16, '118802', 'TR4/25', '計算機網路', '唐玉玲', '高等教育出版社', 32.00);

- 查看圖書表

2、給用戶表添加記錄
- 執行SQL查詢,添加表記錄
INSERT INTO `index_user` VALUES (1, 'admin', '123456', '2021-05-05 11:14:29');
INSERT INTO `index_user` VALUES (2, '李曉紅', '111111', '2021-05-21 11:14:58');
INSERT INTO `index_user` VALUES (3, '唐玉剛', '222222', '2021-05-10 11:15:42');

- 查看用戶表

(十)創建模板頁面
1、創建登錄頁面 - login.html
- 在templates檔案夾里創建login.html

2、創建圖書顯示頁面 - books.html
- 在templates檔案夾里創建books.html

(十一)設定路由
1、創建子路由
- 在index目錄里創建子路由urls.py,在里面創建子路由集合urlpatterns

- 三個視圖函式都需要在index的views.py里創建,目前還沒有創建,所以會報錯,待會兒創建視圖函式后,匯入一下就可解決這個問題,
2、設定主路由
- 在主路由集合里添加一個路由:
path('', include(('index.urls', 'index'), namespace='index'))

(十二)創建視圖函式
1、創建跳轉到登錄頁面的視圖函式 - loginView
- 在index的views.py里創建loginView視圖函式

2、創建顯示圖書的視圖函式 - booksView
- 在index的views.py里創建booksView視圖函式

3、創建處理登錄請求的視圖函式 - doLoginView
- 在index的views.py里創建doLoginView視圖函式

4、解決子路由中視圖函式的匯入問題
- 匯入index.views里的三個視圖函式

(十三)啟動專案,測驗效果
- 訪問
http://127.0.0.1:8000/login,顯示登錄頁面

- 輸入錯誤的用戶名或密碼

- 單擊【確定】按鈕,彈出訊息框提示用戶

- 單擊【確定按鈕】,重新回到登錄頁面,輸入正確的用戶名和密碼

- 單擊【登錄】按鈕,表格顯示全部圖書資訊

- 操作錄屏GIF

三、課后練習
任務:實作圖書記錄洗掉功能
- 表格添加一列【操作】

- 單擊某條記錄的【洗掉】鏈接,彈出訊息框詢問用戶是否要洗掉

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/398794.html
標籤:其他
