這篇文章帶給大家的內容是關於Django的圖書管理系統的實現步驟(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
出版社的增刪改查
展示出版社清單:
1. 建立一個表格結構:
#建立HTML頁面,展示出版社的表格 #for迴圈{% for i in ret %} ---- 範本語言
i 指的是從ret 拿到的物件
{{ forloop.counter }} --> ; for迴圈從1開始計數
{{ forloop.counter0 }} --> for迴圈從0開始計數
{% endfor %}
##新增出版社(在原表中新增)
要新增出版社,先跳到新增頁面,建立新增出版社函數(在url中配置好):
##建立新增頁面把頁面輸入的資訊以post的方式提交一個字典,封裝到name鍵值中,最終傳給press_add
新增完成並展示:
#也可以在出版社清單頁面建立a 標籤,點選即可跳轉新增頁面
刪除出版社:在出版社清單中新增刪除動作,點選刪除項目,把要刪除的該項目在資料庫中刪除.在出版社清單的html頁面中標示點擊''刪除''請求後,接收請求的物件.
建立刪除出版社的函數:即建立接收請求的函數,對該請求做出處理.
編輯出版社
修改原有出版社的資訊,在原有列表上新增'編輯'選項,點擊該選項跳到編輯頁面.
#建立編輯出版社的函數(並完成設定)在函數中修改並同步資料庫
# 建立編輯的HTML頁面
##圖書的增刪改查
在資料庫中建立圖書的清單:在models中建立圖書的表結構的類別透過那兩個指令在資料庫中建立表格###建立對書清單進行操作的函數(並在url中配置好)################# #### 創建在前端展示的html頁################## 注意: 在函數中對錶進行操作,需要透過ORM語言編寫的表結構類別,來取得表格的資訊###############輸出的Press object 物件是透過外鍵取得的出版社物件也可以列印出出版社名字: print(data[0].press. name)###############此外data[0].press_id 可以查詢到與這本書相關聯的出版社id 是透過外鍵查詢的,在類別中建立表結構過程中,建立外鍵會自動在資料庫中建立外鍵關聯id,此時的外鍵id就在本表中.
#data[0].press.id 也可以查詢到與這本書相關聯的出版社id 是透過連表查詢的,.press是出版社的對象, .id自然能夠獲取到與data[0]相關的出版社id.
添加書籍
建立新增書籍的操作函數(在url中配置好)
#(注意: 上圖name錯誤,表格結構中書籍的名字標題是title)
建立新增頁面
#刪除書籍
在書籍清單中新增刪除操作項,點選操作項跳轉帶刪除函數進行刪除操作.
建立要刪除書籍的操作函數
編輯書籍
在書籍頁面中,新增編輯操作的選項,選取要編輯的書籍物件,跳轉頁面進行修改,然後儲存.
建立編輯書籍的操作函數(並配置好):
注意: 末尾的'return' 表示當還未進行資訊編輯時,需要先跳到編輯頁面,依照選定好的物件進行資訊的編輯,編輯完成後,提交.
建立編輯頁面:
#作者的曾刪改查(多對多)
作者可以寫多本書,一本書也可以有多個作者.
創建作者和書的關係
方法一:
# 作者: class Author(models.Model): id = models.AuthorField(primary_key=True) # 自增id主键 name = models.CharField(max_length=32) # 作者名字 # 创建作者和书籍的关系表 class Author2Book(models.Model): id = models.AuthorField(primary_key=True) author = models.Foreignkey(to='Author', on_delete=models.CASCADE) book = models.Foreignkey(to='Book', on_delete=models.CASCADE)
#方法二(用orm創建)
class Author(models.Model): id = models.AuthorField(primary_key=True) # 自增id主键 name = models.CharField(max_length=32) # 作者名字 books = models.ManyToManyField(to='Book')
查詢:在資料庫中找到所有作者資訊,然後在頁面展示出來
建立作者函數並配置好
#建立html檔案在頁面上展示出來
# 新增:建立新增動作的函數,展示新增頁面,取得使用者的新增資訊,傳回給資料庫,再展示作者訊息.
建立新增操作的函數,並配置好
#建立獲取資訊的頁面
刪除和編輯
在作者清單中新增刪除操作項目,鎖定要刪除的物件,
# 建立要刪除的操作函數,
#在作者清單中新增編輯操作,鎖定要編輯的物件
建立編輯函數,並設定好:
創建html頁面,展示編輯頁面並取得使用者填寫的資訊
注意: 範本語言, in 判斷{% if book in author.books.all %} 意為該書在作者所關聯的書籍清單中的話.
ORM 編輯多對多不能直接編輯第三張表,要藉助ORM提供的方法:
all() ; add(id1, id2); set([id1, id2]); clear()清空
#
上傳檔案
创建上传文件的操作函数,并配置好
创建上传文件的html页面
enctype="multipart/form-data" 是文件操作必须要有的
以上是Django的圖書管理系統的實現步驟(附代碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!