




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安徽激光投影施工方案
- 入股酒店合同范例
- 遼寧全息餐廳施工方案
- 沖床設(shè)備租賃合同范例
- 代工合同范例范例
- 倉(cāng)儲(chǔ)庫(kù)房出售合同范例
- app項(xiàng)目合同范例
- 企業(yè)獵聘人才委托合同范例
- 北京2025年首都醫(yī)科大學(xué)附屬北京佑安醫(yī)院招聘21人筆試歷年參考題庫(kù)附帶答案詳解
- 體檢企業(yè)合同范例
- 福建省福州市2024-2025學(xué)年九年級(jí)上學(xué)期期末語(yǔ)文試題(解析版)
- 普通高中學(xué)生綜合素質(zhì)評(píng)價(jià)自我陳述報(bào)告
- 2025年江西電力職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年吉安職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 《展示設(shè)計(jì)》課件-第一章 展示設(shè)計(jì)概述
- 建筑施工安全管理存在的問(wèn)題及對(duì)策【15000字(論文)】
- 2024年湖南鐵道職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年山西同文職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 學(xué)生常見(jiàn)傳染病的預(yù)防
- 2025年青海省建筑安全員B證考試題庫(kù)
- 制種玉米種子質(zhì)量控制培訓(xùn)
評(píng)論
0/150
提交評(píng)論