




版權(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)來(lái)源:品牌與標(biāo)準(zhǔn)化2021 年第 06 期【摘要】 本文深入淺出地分析了網(wǎng)站制作工具Django 的 MVC 架構(gòu)思想,并結(jié)合示例進(jìn)行了說明,對(duì)進(jìn)一步深入理解并運(yùn)用 dango 解決實(shí)際問題提供了借鑒和幫助?!娟P(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 語(yǔ)言的 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ù)庫(kù)進(jìn)行操作,需要在模型中按照Django的方式定Django開發(fā)的通用且簡(jiǎn)單的數(shù)據(jù)庫(kù)接口,可以方便地配置并連接諸如Mysql、Oracle等Django 提供了數(shù)據(jù)查詢、修改、刪除等一系列常用功能,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。CPythonDjango面,需要在后臺(tái)也即服務(wù)器端通過大量的控制和數(shù)據(jù)處理工作來(lái)完成,基于Python 語(yǔ)言的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)了頁(yè)面的動(dòng)態(tài)化,頁(yè)面最終由Django 渲染后,形成Html 文本,交由瀏覽器解釋,實(shí)現(xiàn)了動(dòng)態(tài)頁(yè)面的顯示。整個(gè)框架工作流程是,從客戶端的瀏覽器上發(fā)出頁(yè)面請(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類來(lái)描述數(shù)據(jù)表,并實(shí)現(xiàn)與數(shù)據(jù)庫(kù)系統(tǒng)的連接,MVCM;Views.pyDjangoMVC C;TemplateHTML 格式的文本文件,經(jīng)渲染后,在MV
6、C V。示例配置數(shù)據(jù)庫(kù)Django 可以配置并連接多種數(shù)據(jù)庫(kù)系統(tǒng),數(shù)據(jù)庫(kù)名在配置數(shù)據(jù)庫(kù)系統(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ù)庫(kù)同步后,Django 將定義的類轉(zhuǎn)化為一個(gè)數(shù)據(jù)庫(kù)下的表。以下用類的objects.create 方法為表創(chuàng)建一條記錄,并保存至數(shù)據(jù)庫(kù)中。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ì)在頁(yè)面上看到以下信息:公司名稱:某公司;公司地址:某街某號(hào);所在城市:某市;所在省或自治區(qū):某省或自治區(qū)。結(jié)語(yǔ)MVC 是當(dāng)今 Web 領(lǐng)域網(wǎng)站制作類工具最為流行和廣泛使用的開發(fā)架
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大豆出口合同范本
- 疫情下的科技發(fā)展與創(chuàng)新趨勢(shì)
- 電影院裝修設(shè)計(jì)與文化內(nèi)涵融合探討
- 2025至2030年中國(guó)滅毒冰針數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 電子支付助力商業(yè)創(chuàng)新-市場(chǎng)發(fā)展趨勢(shì)解讀
- 未來(lái)電影市場(chǎng)趨勢(shì)與投資者策略研究
- 2024年福建省港航建設(shè)發(fā)展有限公司招聘筆試真題
- 2024年濱州鄒平市事業(yè)單位(綜合類)招聘人員考試真題
- 2025年02月貴州石阡縣事業(yè)單位公開招聘167人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 科技成果在辦公智能化中的運(yùn)用
- 四川省成都市2024年七年級(jí)《英語(yǔ)》上冊(cè)月考試題與參考答案
- 2025(人教版)數(shù)學(xué)一年級(jí)下冊(cè)全冊(cè)教學(xué)案
- 蘇科版 八年級(jí)物理下冊(cè) 第六章 綜合測(cè)試卷(2025年春)
- 2025年中學(xué)生心理健康教育心得體會(huì)例文(5篇)
- 小學(xué)生學(xué)會(huì)公平與公正的行為主題班會(huì)
- 2025年湖南交通職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 江蘇省南通市2025屆高三第一次調(diào)研測(cè)試數(shù)學(xué)試題(南通一模)(含解析)
- 《大學(xué)物理矢量》課件
- 梅大高速塌方災(zāi)害調(diào)查評(píng)估報(bào)告及安全警示學(xué)習(xí)教育
- 福建省部分地市2025屆高中畢業(yè)班第一次質(zhì)量檢測(cè) 生物試卷(含答案)
- 2024-2025學(xué)年上學(xué)期上海初中英語(yǔ)七年級(jí)期末模擬試卷2
評(píng)論
0/150
提交評(píng)論