解析:model view controller对数据封装/对客户展示结果/处理数据返回结果,显示的视图是要应用模板来开发。 MVC框架的核心思想:解耦 优点:高可扩展性:付出最小代价,预支未来可能发生的问题。向后兼容:后续优化也能使用之前的代码。低耦合,高内聚:模块之间有极小依赖/类之间产生密切的联系。 MVT解析:v相当于MVC的V,其中的t表示template,负责呈现内容到浏览器。 运行流程:要访问一个网页,视图(即view)会在模块(即models)中拿到数据,模块的数据被抓到视图中,视图会在模板中经过多家装饰再返回给视图,给用户呈现最终结果。 【Django 框架详解】 Django是一个高级的Python Web框架,它遵循MVC(Model-View-Controller)设计模式,并在此基础上扩展为MVT(Model-View-Template)架构。MVC的核心思想是解耦,使得各个部分职责分明,从而提高代码的可维护性和可扩展性。 1. MVC 解析 Model代表数据模型,负责数据的封装和业务逻辑处理。View是视图,主要负责接收用户请求,处理数据并调用相应的模板呈现结果。Controller控制器在Django中通常不直接体现,而是由URL调度器和视图共同完成,负责处理用户请求并决定调用哪个视图。 2. MVT解析 Django的MVT架构中,View与MVC的View相似,处理业务逻辑并调用模板。Template是HTML模板,用于呈现最终内容到浏览器。而Model则保持不变,仍然是数据模型层。运行流程如下: - 用户发起请求,到达视图函数。 - 视图从Model获取数据,处理请求。 - 数据通过模板系统渲染,生成HTML响应。 - 响应返回给用户。 3. 创建虚拟环境 使用虚拟环境是为了隔离不同项目的依赖包,避免版本冲突。在Ubuntu系统中,可以使用`virtualenv`和`virtualenvwrapper`来创建和管理虚拟环境。例如,创建名为`myenv`的环境:`mkvirtualenv myenv`,进入环境:`workon myenv`,退出环境:`deactivate`。 4. 安装Django 首先确保安装了pip,然后使用`pip install Django==1.8.2`安装指定版本的Django。创建项目:`django-admin startproject project_name`,并使用PyCharm远程连接虚拟机。 5. 模型类(models) 模型类是Django与数据库交互的基础,定义了数据表结构。通过`from django.db import models`导入模块,使用`CharField`等字段类型映射SQL表。使用`makemigrations`生成迁移文件,`migrate`执行迁移,将模型同步到数据库。在shell中测试数据,如`BookInfo.objects.all()`查看所有记录。 6. 数据库操作 - 插入数据:创建实例并保存,如`b = BookInfo(btitle='abc'),b.save()`。 - 修改数据:获取对象并更新属性,如`b = BookInfo.objects.get(id=1),b.btitle='cccc',b.save()`。 - 删除数据:直接调用`delete`方法,如`b.delete()`。 7. 管理站点 - 创建超级用户:`python manage.py createsuperuser`。 - 运行服务器:`python manage.py runserver`。 - 管理界面本地化:在`settings.py`中设置`LANGUAGE_CODE`和`TIME_ZONE`。 - 在admin中注册模型:`admin.site.register(BookInfo)`。 - 自定义管理界面: - `list_display`:指定列表页面显示的字段,如`list_display = ('hname', 'author')`。 - `list_filter`:添加过滤选项,如`list_filter = ['hname']`。 - `search_fields`:设置搜索字段,如`search_fields = ['title']`。 - `list_per_page`:每页显示记录数,如`list_per_page = 20`。 Django提供了一套完整的Web开发解决方案,包括ORM(对象关系映射)系统、内置的认证和授权机制、表单处理、URL路由以及强大的模板引擎。通过熟练掌握这些知识点,可以高效地构建复杂的Web应用。
剩余20页未读,继续阅读
- 粉丝: 3
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ExifTool-12.84.dmg
- 【小程序毕业设计】基于小程序的蒙服汇作业源码(完整前后端+mysql+说明文档).zip
- MATLAB《用于低光图像增强的生物启发式多曝光融合框架》+项目源码+文档说明+代码注释+数据
- 【小程序毕业设计】报修小程序源码(完整前后端+mysql+说明文档).zip
- 一款低代码生成器,可根据自定义模板内容,快速生成代码,实现项目的快速开发、上线,减少重复的代码编写,开发人员只需专注业务逻辑即可
- 纯电动乘用车用减速器总成技术条件
- winform GDI+ 绘制的(双人)五子棋.zip
- 我们常常在Python中需要使用一些数据包对数据进行数据分析,但是在Python中的包却又不能满足我们的需求,又需要
- java项目,课程设计-ssm大学生企业推荐系统.zip
- 【Unity 动画插件】DOTween Pro 可以在短时间内实现复杂的动画逻辑,极大提升了游戏开发的效率