Django基础知识
- Django:一个开源的Web应用框架,由python写成
- MVC:一种软件设计的典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑代码聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,MVC被独特的发展起来用于映射传统的输入,处理和输出功能在一个逻辑的图形化用户界面的结构中。
- 核心思想:解耦
- 编程模式
Model(模型):是应用程序中用于处理应用程序数据逻辑的部分;通常模型对象负责在数据库中存取数据。
View(视图):是应用程序中处理数据显示的部分;通常视图是依据模型数据创建的。
Controller(控制器):是应用程序中处理用户交互的部分;通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
- 优点:降低各个功能模块之间的耦合性,方便变更,更容易重构代码,最大限度上实现代码的重用。
- MTC:本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同。
- 编程模式
Model(模型):负责业务对象与数据库的对象(ORM)
Template(模板):负责如何把页面展示给用户
Controller(控制器):负责业务逻辑,并在适当的时候调用Model和Template
注意:Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template
Django基础知识相关推荐
- python开发框架——Django基础知识(九)
hello!我是小J,每天一个小知识,一起学python,让技术无限发散. 模型类--增删改查 1. 演示工具shell的使用 2. 添加数据 3. 查询数据 3.1 基础条件查询 3.2 过滤查 ...
- python开发框架——Django基础知识(七)
hello!我是小J,每天一个小知识,一起学python,让技术无限发散. 模板 1. 模板配置 1.1 模板简介 1.2 模板的使用流程 1.3 模板配置 2. 模板使用 2.1 变量 2.2 ...
- python开发框架——Django基础知识(十一)
hello!我是小J,每天一个小知识,一起学python,让技术无限发散. DRF和Web 1. web应用模式 1.1 前后端不分离 1.2 前后端分离 2. 使用Django开发REST接口 ...
- django 基础知识 ~ forms详解
一 简介 今天咱们来聊聊 django强大的表单功能 二 分类 1 ModelFrom ModelFrom只需要声明指定字段,其他的选择继承 2 Froms (我们今天主要推这个) ...
- Django基础知识MTV
Django简介 Django是使用Python编写的一个开源Web框架.可以用它来快速搭建一个高性能的网站. Django也是一个MVC框架.但是在Django中,控制器接受用户输入的部分由框架自行 ...
- django基础知识~RBAC实验部分代码记录
一 简介:小小的记录下具体的思路和相关代码 二 具体阐述 # setting处理逻辑 PERMISSION_SESSION_KEY = 'permissions' #这里填写需要存取权限的sessio ...
- django基础知识之分页:
分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据, ...
- django基础知识之验证码:
验证码 在用户注册.登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻一些服务器的压力 使用验证码也是一种有效的防止crsf的方法 验证码效果如下图: 验证码视 ...
- Django基础知识学习
1.Django是什么 Django 是一个由 Python 编写的开放源代码的 Web 应用程序开发框架.它采用了 MVT 软件设计模式,即 Model 模型.View 视图和 Templates ...
最新文章
- linux parted rpm,为Everest Linux构建QtParted的rpm包(四)
- 未来中国最受宠的人才
- 有上下界的网络流1-无源汇带上下界网络流SGU194
- gcc的警告提示信息
- 采用contentprivider扫描手机SD卡的图片资源
- 前端基础-html-换行标签
- OJ1080: a+b(多实例测试3)(C语言)
- 六妙招让死钱变活钱[转]
- POJ3264——Balanced Lineup(线段树)
- sql常用优化小知识
- 参与esri用户大会感想
- C++ OpenCV实现图像双三次插值算法
- UitableView 动态高度的优化 提高寻星效率
- 计算机蓝屏代码0x0000007b,电脑开机出现蓝屏代码0x0000007b怎么办?
- 如何解决笔记本键盘突然失灵的问题
- 养成这个好习惯,让播音主持成为你的加分项
- android三星s8底部菜单,三星Galaxy S8/S8+国行获更新:导航栏可隐藏/视野更宽阔
- 【Error2013:2013 lost connection to MYSQL server在处理大量数据运行中报错解决方法】
- OpenAI baseline GAIL代码讲解及其可视化
- Geek 青年说北京沙龙分享