圖書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2django_第1頁(yè)
圖書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2django_第2頁(yè)
圖書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2django_第3頁(yè)
圖書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2django_第4頁(yè)
圖書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2django_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目需求分析及Django簡(jiǎn)介任務(wù)要求

12了解Django的原理,特點(diǎn)以及應(yīng)用學(xué)習(xí)Django的環(huán)境搭建和開(kāi)發(fā)流程3掌握Diango的基本命令

4了解項(xiàng)目需求5針對(duì)項(xiàng)目模塊設(shè)計(jì)功能與MySQL數(shù)據(jù)庫(kù)表目錄CONTENTS實(shí)驗(yàn)原理1實(shí)驗(yàn)原理01實(shí)驗(yàn)原理

一、Digngo簡(jiǎn)介

Django是一個(gè)開(kāi)放源代碼的Web應(yīng)用框架,由Python寫成。采用了MVT的軟件設(shè)計(jì)模式,即模型Model,視圖View和模板Template。它最初是被開(kāi)發(fā)來(lái)用于管理勞倫斯出版集團(tuán)旗下的一些以新聞內(nèi)容為主的網(wǎng)站的。并于2005年7月在BSD許可證下發(fā)布。這套框架是以比利時(shí)的吉普賽爵士吉他手DjangoReinhardt來(lái)命名的。Django的主要目標(biāo)是使得開(kāi)發(fā)復(fù)雜的、數(shù)據(jù)庫(kù)驅(qū)動(dòng)的網(wǎng)站變得簡(jiǎn)單。Django注重組件的重用性和“可插拔性”,敏捷開(kāi)發(fā)和DRY法則(Don'tRepeatYourself)。在Django中Python被普遍使用,甚至包括配置文件和數(shù)據(jù)模型。Django于2008年6月17日正式成立基金會(huì)。實(shí)驗(yàn)原理

二、Django的特點(diǎn)和核心組件1.強(qiáng)大的數(shù)據(jù)庫(kù)功能擁有強(qiáng)大的數(shù)據(jù)庫(kù)操作接口(QuerySetAPI),如需要也能執(zhí)行原生SQL。2.自帶強(qiáng)大后臺(tái)幾行簡(jiǎn)單的代碼就讓你的網(wǎng)站擁有一個(gè)強(qiáng)大的后臺(tái),輕松管理內(nèi)容!3.優(yōu)雅的網(wǎng)址用正則匹配網(wǎng)址,傳遞到對(duì)應(yīng)函數(shù),隨意定義,如你所想!4.模板系統(tǒng)強(qiáng)大,易擴(kuò)展的模板系統(tǒng),設(shè)計(jì)簡(jiǎn)易,代碼,樣式分開(kāi)設(shè)計(jì),更容易管理。5.緩存系統(tǒng)與Memcached,Redis等緩存系統(tǒng)聯(lián)用,更出色的表現(xiàn),更快的加載速度。6.國(guó)際化完全支持多語(yǔ)言應(yīng)用,允許你定義翻譯的字符,輕松翻譯成不同國(guó)家的語(yǔ)言。Django框架的核心包括:一個(gè)物件導(dǎo)向的映射器,用作數(shù)據(jù)模型(以Python類的形式定義)數(shù)據(jù)庫(kù)間的媒介;一個(gè)基于正則表達(dá)式的URL分發(fā)器;一個(gè)視圖系統(tǒng),用于處理請(qǐng)求;以及一個(gè)模板系統(tǒng)。

實(shí)驗(yàn)原理

一個(gè)輕量級(jí)的、獨(dú)立的Web服務(wù)器,用于開(kāi)發(fā)和測(cè)試。一個(gè)表單序列化及驗(yàn)證系統(tǒng),用于HTML表單和適于數(shù)據(jù)庫(kù)存儲(chǔ)的數(shù)據(jù)之間的轉(zhuǎn)換。一個(gè)緩存框架,并有幾種緩存方式可供選擇。中間件支持,允許對(duì)請(qǐng)求處理的各個(gè)階段進(jìn)行干涉。內(nèi)置的分發(fā)系統(tǒng)允許應(yīng)用程序中的組件采用預(yù)定義的信號(hào)進(jìn)行相互間的通信。一個(gè)序列化系統(tǒng),能夠生成或讀取采用XML或JSON表示的Django模型實(shí)例。一個(gè)用于擴(kuò)展模板引擎的能力的系統(tǒng)。

實(shí)驗(yàn)原理

三、環(huán)境搭建

首先我們先看一下Django不同版本所支持的Pyton版本,如圖1這里我們使用的Python版本是python3.6,所以我們選擇Django2.x版本,同學(xué)們也可以嘗試不同Python版本多對(duì)應(yīng)的不同Django版本。實(shí)驗(yàn)原理

四、Django的安裝方式(當(dāng)前環(huán)境以安裝好環(huán)境,同學(xué)們只需學(xué)習(xí)即可)

1.使用ubuntu系統(tǒng)用pip來(lái)安裝1.1.需要先安裝pipsudoapt-getinstallpython-pip或者直接下載:get-pip.py然后運(yùn)行在終端運(yùn)行pythonget-pip.py就可以安裝pip。1.2利用pip安裝Django(sudo)pipinstallDjango或者(sudo)pipinstallDjango==1.8.16或者pipinstallDjango==1.11.8實(shí)驗(yàn)原理

四、基本命令(sudo)pipinstall--upgradepip如果想要熟練的掌握Diango,就要先掌握Django的基本命令,下面我們會(huì)介紹一些Django的命令,大家可以練習(xí)一下。1.新建一個(gè)djangoprojectdjango-admin.pystartprojectproject_name特別是在windows上,如果報(bào)錯(cuò),嘗試用django-admin代替django-admin.py試試注意project_name是自己的項(xiàng)目名稱,需要為合法的Python包名,如不能為1a或a-b。實(shí)驗(yàn)原理

2.新建app要先進(jìn)入項(xiàng)目目錄下,cdproject_name然后執(zhí)行下面的命令(下同,已經(jīng)在項(xiàng)目目錄下則不需要cdproject_name)

pythonmanage.pystartappapp_name或django-admin.pystartappapp_name一般一個(gè)項(xiàng)目有多個(gè)app,當(dāng)然通用的app也可以在多個(gè)項(xiàng)目中使用。與項(xiàng)目名類似appname也需要為合法的Python包名,如blog,news,aboutus等都是合法的app名稱。實(shí)驗(yàn)原理

3.創(chuàng)建數(shù)據(jù)庫(kù)表或更改數(shù)據(jù)庫(kù)表或字段Django1.7.1及以上用以下命令1.創(chuàng)建更改的文件pythonmanage.pymakemigrations2.將生成的py文件應(yīng)用到數(shù)據(jù)庫(kù)pythonmanage.pymigrate舊版本的Django1.6及以下用pythonmanage.pysyncdb這種方法可以在SQL等數(shù)據(jù)庫(kù)中創(chuàng)建與models.py代碼對(duì)應(yīng)的表,不需要自己手動(dòng)執(zhí)行SQL。

實(shí)驗(yàn)原理

4.使用開(kāi)發(fā)服務(wù)器開(kāi)發(fā)服務(wù)器,即開(kāi)發(fā)時(shí)使用,一般修改代碼后會(huì)自動(dòng)重啟,方便調(diào)試和開(kāi)發(fā),但是由于性能問(wèn)題,建議只用來(lái)測(cè)試,不要用在生產(chǎn)環(huán)境。pythonmanage.pyrunserver當(dāng)提示端口被占用的時(shí)候,可以用其它端口:pythonmanage.pyrunserver8001pythonmanage.pyrunserver9999(當(dāng)然也可以kill掉占用端口的進(jìn)程,具體后面有講,此處想知道的同學(xué)可查下lsof命令用法)監(jiān)聽(tīng)機(jī)器所有可用ip(電腦可能有多個(gè)內(nèi)網(wǎng)ip或多個(gè)外網(wǎng)ip)pythonmanage.pyrunserver:8000如果是外網(wǎng)或者局域網(wǎng)電腦上可以用其它電腦查看開(kāi)發(fā)服務(wù)器訪問(wèn)對(duì)應(yīng)的ip加端口,比如實(shí)驗(yàn)原理

5.清空數(shù)據(jù)庫(kù)pythonmanage.pyflush`此命令會(huì)詢問(wèn)是yes還是no,選擇yes會(huì)把數(shù)據(jù)全部清空掉,只留下空表。6.創(chuàng)建超級(jí)管理員pythonmanage.pycreatesuperuser按照提示輸入用戶名和對(duì)應(yīng)的密碼就好了郵箱可以留空,用戶名和密碼必填修改用戶密碼可以用:pythonmanage.pychangepasswordusername實(shí)驗(yàn)原理

7.導(dǎo)出數(shù)據(jù)導(dǎo)入數(shù)據(jù)pythonmanage.pydumpdataappname>appname.jsonpythonmanage.pyloaddataappname.json8.Django項(xiàng)目環(huán)境終端pythonmanage.pyshell如果你安裝了bpython或ipython會(huì)自動(dòng)用它們的界面,推薦安裝bpython。這個(gè)命令和直接運(yùn)行python或bpython進(jìn)入shell的區(qū)別是:你可以在這個(gè)shell里面調(diào)用當(dāng)前項(xiàng)目的models.py中的API,對(duì)于操作數(shù)據(jù),還有一些小測(cè)試非常方便。

實(shí)驗(yàn)原理

9.數(shù)據(jù)庫(kù)命令行pythonmanage.pydbshellDjango會(huì)自動(dòng)進(jìn)入在settings.py中設(shè)置的數(shù)據(jù)庫(kù),如果是MySQL或postgreSQL,會(huì)要求輸入數(shù)據(jù)庫(kù)用戶密碼。在這個(gè)終端可以執(zhí)行數(shù)據(jù)庫(kù)的SQL語(yǔ)句。如果您對(duì)SQL比較熟悉,可能喜歡這種方式。10.更多命令終端上輸入pythonmanage.py可以看到詳細(xì)的列表,在忘記子名稱的時(shí)候特別有用。實(shí)驗(yàn)原理

項(xiàng)目需求圖書館管理系統(tǒng)按功能可以分為4個(gè)模塊,分別為登錄模塊、讀者管理模塊、書籍管理模塊、借閱與歸還功能模塊各個(gè)模塊具體功能如下圖所示實(shí)驗(yàn)原理

針對(duì)項(xiàng)目模塊設(shè)計(jì)功能與MySQL數(shù)據(jù)庫(kù)表1、登錄模塊(1)、注冊(cè):注冊(cè)功能需要注冊(cè)驗(yàn)證,可以使用驗(yàn)證碼進(jìn)行驗(yàn)證(2)、登錄:驗(yàn)證用戶賬戶與密碼2、書籍管理模塊(1)、增加圖書:添加新的圖書信息(2)、修改圖書:修改已有圖書信息,例如增加書籍庫(kù)存(3)、刪除圖書:可刪除已有書籍(如有讀者借了該書籍尚未歸還,則不允許刪除)(4)、查詢圖書:可以通過(guò)書名、作者、出版社對(duì)書籍進(jìn)行組合查詢實(shí)驗(yàn)原理

3、讀者模塊(1)、增加讀者:添加新的讀者信息(2)、修改讀者:修改已有讀者信息(3)、刪除讀者:可刪除已有讀者(如果該讀者借了書籍尚未歸還,則不允許刪除)(4)、查詢讀者;可以通過(guò)姓名、系別、年級(jí)對(duì)讀者進(jìn)行組合查詢4、借閱與歸還功能模塊(1)、借閱:借書時(shí)如果有超期的書沒(méi)有還,則不允許借書(2)、歸還:可完成還書的手續(xù)實(shí)驗(yàn)原理

5、設(shè)計(jì)數(shù)據(jù)庫(kù)(1)、管理員信息表:對(duì)應(yīng)登錄模塊表名:UserInfo列名|數(shù)據(jù)類型|長(zhǎng)度|簡(jiǎn)介|是否為空|是否為主鍵|外鍵||------|------|------|------|------|------|------||username|varchar|50|登錄名|no|yes|||password|varchar|50|密碼|no|no||(2)、書籍信息表對(duì)應(yīng)書籍管理模塊

實(shí)驗(yàn)原理

表名:BookInfo|列名|數(shù)據(jù)類型|長(zhǎng)度|簡(jiǎn)介|是否為空|是否為主鍵|外鍵||------|------|------|------|------|------|------||id|int||書籍編號(hào)|no|yes|||book_name|varchar|50|書名|no|no|||author|varchar|50|作者|no|no|||publisher|varchar|50|出版社|no|no|||abstract|text||摘要|yes|no|||total|int||總數(shù)|no|no|||inventory|int||庫(kù)存|no|no||

實(shí)驗(yàn)原理

(3)、讀者信息表對(duì)應(yīng)讀者模塊表名:ReaderInfo|列名|數(shù)據(jù)類型|長(zhǎng)度|簡(jiǎn)介|是否為空|是否為主鍵|外鍵||------|------|------|------|------|------|------||id|int||讀者編號(hào)|no|yes|||name|varchar|20|姓名|no|no|||sex|boolean||性別|no|no|||department|varchar|100|系別|no|no|||grade|int||年級(jí)|no|no||

實(shí)驗(yàn)原理

(4)、借閱信息表對(duì)應(yīng)借閱與歸還功能模塊表名:BorrowInfo|列名|數(shù)據(jù)類型|長(zhǎng)度|簡(jiǎn)介|是否為空|是否為主鍵|外鍵||------|------|------|------|------|------|------||id|int||標(biāo)識(shí)列|no|yes|||book_id|int||書籍編號(hào)|no|no|BookInfo.id||reader_id|int||讀者編號(hào)|no|no|ReaderInfo.id||star_t

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論