




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、淺析Web 開發(fā)工具Django MVC 架構(gòu)作者:孫建軍,李琪,呂強(qiáng)來源:品牌與標(biāo)準(zhǔn)化2021 年第 06 期【摘要】 本文深入淺出地分析了網(wǎng)站制作工具Django 的 MVC 架構(gòu)思想,并結(jié)合示例進(jìn)行了說明,對(duì)進(jìn)一步深入理解并運(yùn)用 dango 解決實(shí)際問題提供了借鑒和幫助。【關(guān)鍵詞】 Django;MVC;架構(gòu)【DOI 編碼】 10.3969/j.issn.1674-4977.2021.06.039AnalysisontheMVCArchitectureofWebDevelopmentToolSUNJian-jun,LIQi,LVQiang(Shaanxi Institute of Sta
2、ndardization,Xi-an710000,China)Abstract:ThisarticleanalyzestheMVCarchitectureideasofwebsiteproduction tool,inasimpleandsimpleexplainsitwithexamples,whichprovidesreferenceandforfurtherunderstandingandusingdangotosolvepracticalproblems.Key words: Django;MVC;architectureDjango 是一個(gè)基于 Python 語言的 WEB 開發(fā)工具
3、,2005 年作為一個(gè)開源項(xiàng)目發(fā)布。目前,世界上許多的公司和組織已經(jīng)將 Django 應(yīng)用在自己開發(fā)的項(xiàng)目中。Django Web 網(wǎng)站的制作。其開發(fā)框架由數(shù)據(jù)、呈現(xiàn)、控制三部分構(gòu)成,被稱為 MVC 立開發(fā)、維護(hù),使得系統(tǒng)的靈活性、協(xié)調(diào)性顯著增強(qiáng)。MVC架構(gòu)MVC是 Model-View-Controller的縮寫,Model表示模型,View稱為呈現(xiàn)方式,Controller 是控制器。三者共同構(gòu)成了一個(gè)既彼此獨(dú)立又相互協(xié)同的有機(jī)整體,這就是通常所說的MVC 架構(gòu)。在 MVC 架構(gòu)下,操作是在 View 上進(jìn)行,其響應(yīng)就會(huì)被傳送給 Controller,而 Controller Model的
4、數(shù)據(jù),而最終數(shù)據(jù)的變化會(huì)反映到View。圖 1 Django 的 MVC 架構(gòu)圖1M,Django 可以對(duì)數(shù)據(jù)庫進(jìn)行操作,需要在模型中按照Django的方式定Django開發(fā)的通用且簡(jiǎn)單的數(shù)據(jù)庫接口,可以方便地配置并連接諸如Mysql、Oracle等Django 提供了數(shù)據(jù)查詢、修改、刪除等一系列常用功能,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的操作。CPythonDjango面,需要在后臺(tái)也即服務(wù)器端通過大量的控制和數(shù)據(jù)處理工作來完成,基于Python 語言的Django,具有實(shí)現(xiàn)復(fù)雜邏輯控制和強(qiáng)大的數(shù)據(jù)處理能力。在看呈現(xiàn)方式 VHtml 靜態(tài)文本文件,但能夠體現(xiàn)動(dòng)態(tài)特HtmlDjangoHtml(不限于)增加了變量
5、替換和邏輯控制等功能,實(shí)現(xiàn)了頁面的動(dòng)態(tài)化,頁面最終由Django 渲染后,形成Html 文本,交由瀏覽器解釋,實(shí)現(xiàn)了動(dòng)態(tài)頁面的顯示。整個(gè)框架工作流程是,從客戶端的瀏覽器上發(fā)出頁面請(qǐng)求,服務(wù)器端接收到請(qǐng)求,交由控制器 C,C 使用在 M 中定義并獲取的數(shù)據(jù)進(jìn)行處理,利用V 中定義的模板文件(以 Html 為基礎(chǔ)的文本文件),生成標(biāo)準(zhǔn)的 Html 文件后,傳送至客戶端的瀏覽器上進(jìn)行顯示。Django3PythonMVC。Models.pyPython類來描述數(shù)據(jù)表,并實(shí)現(xiàn)與數(shù)據(jù)庫系統(tǒng)的連接,MVCM;Views.pyDjangoMVC C;TemplateHTML 格式的文本文件,經(jīng)渲染后,在MV
6、C V。示例配置數(shù)據(jù)庫Django 可以配置并連接多種數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫名在配置數(shù)據(jù)庫系統(tǒng)時(shí)指定。以下在M(模型)中定義一個(gè)公司類,類名為 company。From django db import modelsClass company(models.Model): Name=models.CharField(max_length=30) address=models.CharField(max_length=50) city=models.CharField(max_length=60) province=models.CharField(max_length=30)從 django.db
7、 中導(dǎo)出模型 models,使用 models 中字符串類型定義類的各屬性。在與配置的數(shù)據(jù)庫同步后,Django 將定義的類轉(zhuǎn)化為一個(gè)數(shù)據(jù)庫下的表。以下用類的objects.create 方法為表創(chuàng)建一條記錄,并保存至數(shù)據(jù)庫中。p=company.objects.create(name=某公司,address=某街某號(hào),city=某市,province=某省或自治區(qū))定義模板文件在 V(模板)中定義一個(gè)文件,稱為模板文件,取名ep.html。示例公司名稱:name公司地址:address所在城市:city所在省或自治區(qū):province 是 Django 的占位符,占位符內(nèi)是變量名,變量經(jīng)賦值
8、后,替代占位符。3)編制控制流程定義一個(gè) Python 函數(shù):取名 example.作為 C(控制器)中的方法。from django.template.loader import get_templatefrom django.template import Context from django.http importDef example(request):t=get_temlate(ep) c=context(name:,address:p.address,city:p.city,province:vince) html=t.render(c)return httpResponse(h
9、tml)其中,get_temlate()Djangodjango.template.loader將模板文件轉(zhuǎn)化為模板對(duì)象。t=get_temlate(ep)ep模板文件作為參數(shù)傳入,生成模板對(duì)象t。Context()django.template程序包導(dǎo)出,生成上下文對(duì)象。c=context(name:,address:p.address,city:p.city,province:vince)定義一個(gè) python 字典,為變量賦值,并將字典作為 context()。html=t.render(c)trender(),以上下文對(duì)象作為參數(shù),對(duì)模板文件ep際上是用字典中定義的各項(xiàng)去替換文檔中的占位符并給變量賦值。渲染后的文件為標(biāo)準(zhǔn)的 Html文件。示例公司名稱:某公司公司地址:某街某號(hào)所在城市:某市所在省或自治區(qū):某省或自治區(qū)最后將該文本用 httpResponse()返回給瀏覽器,將會(huì)在頁面上看到以下信息:公司名稱:某公司;公司地址:某街某號(hào);所在城市:某市;所在省或自治區(qū):某省或自治區(qū)。結(jié)語MVC 是當(dāng)今 Web 領(lǐng)域網(wǎng)站制作類工具最為流行和廣泛使用的開發(fā)架
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ù)學(xué)三年級(jí)上冊(cè)單元測(cè)試卷-第五單元-解決問題的策略(含答案)-
- 2025年湖南吉利汽車職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫及答案一套
- 2025年河南物流職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫匯編
- 2025年河北青年管理干部學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫參考答案
- 2024年H-系列卷材涂料項(xiàng)目資金申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2024年體育公園項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2025年河北女子職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫一套
- 物理-云南省師范大學(xué)附屬中學(xué)2025屆高三下學(xué)期開學(xué)考試試題和答案
- 第22課《智取生辰綱》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語文九年級(jí)上冊(cè)
- 汽車旅館裝修合同解除
- 人教版八年級(jí)數(shù)學(xué)下冊(cè)《第十六章二次根式》專題復(fù)習(xí)附帶答案
- 2024屆武漢武昌區(qū)五校聯(lián)考數(shù)學(xué)九年級(jí)第一學(xué)期期末經(jīng)典試題含解析
- 高考復(fù)習(xí)概率中的遞推數(shù)列問題課件
- 生物工程設(shè)備課件
- 詐騙控告書模板
- 善借者贏天下(2017甘肅慶陽中考議論文閱讀試題含答案)
- 新聞采訪與寫作課件第十章采訪的實(shí)施現(xiàn)場(chǎng)觀察
- 八年級(jí)數(shù)學(xué)下冊(cè)《三角形的證明》單元測(cè)試卷(附答案解析)
- 國(guó)內(nèi)公務(wù)接待清單
- 《調(diào)整心態(tài)迎接中考》主題班會(huì)
- 領(lǐng)導(dǎo)科學(xué)與領(lǐng)導(dǎo)藝術(shù)
評(píng)論
0/150
提交評(píng)論