![浅析Web开发工具Django的MVC架构_第1页](http://file4.renrendoc.com/view/8b38a7d686911c827a813cdb86b9c69b/8b38a7d686911c827a813cdb86b9c69b1.gif)
![浅析Web开发工具Django的MVC架构_第2页](http://file4.renrendoc.com/view/8b38a7d686911c827a813cdb86b9c69b/8b38a7d686911c827a813cdb86b9c69b2.gif)
![浅析Web开发工具Django的MVC架构_第3页](http://file4.renrendoc.com/view/8b38a7d686911c827a813cdb86b9c69b/8b38a7d686911c827a813cdb86b9c69b3.gif)
![浅析Web开发工具Django的MVC架构_第4页](http://file4.renrendoc.com/view/8b38a7d686911c827a813cdb86b9c69b/8b38a7d686911c827a813cdb86b9c69b4.gif)
![浅析Web开发工具Django的MVC架构_第5页](http://file4.renrendoc.com/view/8b38a7d686911c827a813cdb86b9c69b/8b38a7d686911c827a813cdb86b9c69b5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浅析Web 开发工具Django MVC 架构作者:孙建军,李琪,吕强来源:品牌与标准化2021 年第 06 期【摘要】 本文深入浅出地分析了网站制作工具Django 的 MVC 架构思想,并结合示例进行了说明,对进一步深入理解并运用 dango 解决实际问题提供了借鉴和帮助。【关键词】 Django;MVC;架构【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 是一个基于 Python 语言的 WEB 开发工具
3、,2005 年作为一个开源项目发布。目前,世界上许多的公司和组织已经将 Django 应用在自己开发的项目中。Django Web 网站的制作。其开发框架由数据、呈现、控制三部分构成,被称为 MVC 立开发、维护,使得系统的灵活性、协调性显著增强。MVC架构MVC是 Model-View-Controller的缩写,Model表示模型,View称为呈现方式,Controller 是控制器。三者共同构成了一个既彼此独立又相互协同的有机整体,这就是通常所说的MVC 架构。在 MVC 架构下,操作是在 View 上进行,其响应就会被传送给 Controller,而 Controller Model的
4、数据,而最终数据的变化会反映到View。图 1 Django 的 MVC 架构图1M,Django 可以对数据库进行操作,需要在模型中按照Django的方式定Django开发的通用且简单的数据库接口,可以方便地配置并连接诸如Mysql、Oracle等Django 提供了数据查询、修改、删除等一系列常用功能,实现对数据库的操作。CPythonDjango面,需要在后台也即服务器端通过大量的控制和数据处理工作来完成,基于Python 语言的Django,具有实现复杂逻辑控制和强大的数据处理能力。在看呈现方式 VHtml 静态文本文件,但能够体现动态特HtmlDjangoHtml(不限于)增加了变量
5、替换和逻辑控制等功能,实现了页面的动态化,页面最终由Django 渲染后,形成Html 文本,交由浏览器解释,实现了动态页面的显示。整個框架工作流程是,从客户端的浏览器上发出页面请求,服务器端接收到请求,交由控制器 C,C 使用在 M 中定义并获取的数据进行处理,利用V 中定义的模板文件(以 Html 为基础的文本文件),生成标准的 Html 文件后,传送至客户端的浏览器上进行显示。Django3PythonMVC。Models.pyPython类来描述数据表,并实现与数据库系统的连接,MVCM;Views.pyDjangoMVC C;TemplateHTML 格式的文本文件,经渲染后,在MV
6、C V。示例配置数据库Django 可以配置并连接多种数据库系统,数据库名在配置数据库系统时指定。以下在M(模型)中定义一个公司类,类名为 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、 中导出模型 models,使用 models 中字符串类型定义类的各属性。在与配置的数据库同步后,Django 将定义的类转化为一个数据库下的表。以下用类的objects.create 方法为表创建一条记录,并保存至数据库中。p=company.objects.create(name=某公司,address=某街某号,city=某市,province=某省或自治区)定义模板文件在 V(模板)中定义一个文件,称为模板文件,取名ep.html。示例公司名称:name公司地址:address所在城市:city所在省或自治区:province 是 Django 的占位符,占位符内是变量名,变量经赋值
8、后,替代占位符。3)编制控制流程定义一个 Python 函数:取名 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将模板文件转化为模板对象。t=get_temlate(ep)ep模板文件作为参数传入,生成模板对象t。Context()django.template程序包导出,生成上下文对象。c=context(name:,address:p.address,city:p.city,province:vince)定義一个 python 字典,为变量赋值,并将字典作为 context()。html=t.render(c)trender(),以上下文对象作为参数,对模板文件ep际上是用字典中定义的各项去替换文档中的占位符并给变量赋值。渲染后的文件为标准的 Html文件。示例公司名称:某公司公司地址:某街某号所在城市:某市所在省或自治区:某省或自治区最后将该文本用 httpResponse()返回给浏览器,将会在页面上看到以下信息:公司名称:某公司;公司地址:某街某号;所在城市:某市;所在省或自治区:某省或自治区。结语MVC 是当今 Web 领域网站制作类工具最为流行和广泛使用的开发架
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医务社工的重要性分析计划
- 前台文员的专业发展路径计划
- 2025年中文信息处理平台项目建议书
- 提升钟表品牌的全球认可度计划
- 通信行业个人进程计划
- 2025年热塑性聚氨酯弹性体项目建议书
- 2025年豆腐及豆制品工业化生产设备项目合作计划书
- 七年级下册《一元一次不等式组》课件与练习
- 2025年板卧式电除尘器项目建议书
- 2025年纳米抗菌管项目合作计划书
- 幼儿园2025年春季学期保教工作计划
- 2025云南中烟再造烟叶限责任公司招聘高频重点提升(共500题)附带答案详解
- DB13-T 6033-2024 半导体器件低浓度氢效应试验方法
- 《保利公司简介》课件
- 中药硬膏热贴敷治疗
- 医保药店员工培训管理制度
- 2025年中考语文文言文专项训练:《愚公移山》对比阅读(含答案)
- 神经外科患者卧位管理
- 2024年高频脉冲电源项目可行性研究报告
- 部编人教版三年级下册语文教案(表格版)
- 2024年北京二中高一(上)段考一化学试题及答案
评论
0/150
提交评论