软件系统发展到今天已经很复杂了,在服务端软件,设计的知识很广泛,为了降低开发难度,提高开发效率,在某些方面去使用别人成熟的框架。

一些事务处理,安全性,数据流控制等都可以让框架处理,而开发人员把更多的时间投入进业务逻辑的实现。放在生活中理解,就是买个毛坯房,然后自己去装修。

Django 和 Flask:

在python中的Django和Flask 是较为流行且功能强大的两个开发框架

Flask是轻量级的可定制性框架,灵活,轻便,安全且容易上手通过插件的形式来进行个性化网站定制,

适合小型网站,也可开发大型网站,但是具体架构需要自己设计,选择自己喜欢的插件,考验开发者的能力

具有很强的扩展性和兼容性。

Django是重量级框架,遵循MVT设计模式,强调代码复用,有功能强大的第三方库,

自带ORM和模板引擎,用户多,适合大型网站,企业级网站,快速稳定

具有很强的可扩展性,强调快速开发和DRY(Do Not Repeat Yourself)原则。

MVC 和 MVT 

核心思想是解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容

Django中使用的MVT是遵循MVC设计模式去执行。

MVC:

1、M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作

2、V全拼为View,用于封装结果,生成页面展示的html内容

3、C为Controller,用于接收请求,处理业务逻辑,与Model和View的交互,返回结果

MVT:

1、M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增删改查操作

2、V全拼为VIew,与MVC中的C功能相同,用于接收请求,处理业务逻辑,与Model和View的交互,返回结果

3、T全拼为Templates,用于接收请求,与MVC中的V功能相同,用于封装结果,生成页面显示的html内容

小结:

MVT基于MVC,流程和MVC大体一样,客户端发送请求,根据请求,通过url寻找视图,视图接收并处理请求,

访问数据库,拿到数据,再由视图返回到模板上,客户端接收到,渲染页面。

Flask 和Django的更多相关文章

  1. 详说Flask、Django、Pyramid三大主流 Web 框架

    前言 目前随着 Python 在大数据.云计算.人工智能方面的热度,Python Web 应该也会被更多企业了解使用. Python Web 框架千万种,没必要都去了解和学习,身边总有人说高手都用 F ...

  2. 如何理解Nginx, WSGI, Flask(Django)之间的关系

    如何理解Nginx, WSGI, Flask(Django)之间的关系 值得指出的是,WSGI 是一种协议,需要区分几个相近的名词: uwsgi 同 wsgi 一样也是一种协议,uWSGI服务器正是使 ...

  3. Flask 和 Django 框架的区别

    1)Flask Flask确实很“轻”,不愧是Micro Framework,从Django转向Flask的开发者一定会如此感慨,除非二者均为深入使用过 Flask自由.灵活,可扩展性强,第三方库的选 ...

  4. Flask与Django哪个更好更实用呢?砖家是这么认为的

        这一周我打算做一个 Flask 教程.本文先把 Flask 和 Django 做一个比对,因为我对这两个 Python Web 框架都有实际的开发经验.希望我可以帮助您选择学习哪个框架,因为学 ...

  5. Flask与Django的比较

    Flask与Django的区别 Flask Flask确实很"轻",不愧是Micro Framework,从Django转向Flask的开发者一定会如此感慨,除非二者均为深入使用过 ...

  6. Python之Flask和Django框架解决跨域问题,配合附加ajax和fetch等js代码

    Flask框架py解决跨域问题示例: # -*- coding: utf- -*- # by zhenghai.zhang from flask import Flask, render_templa ...

  7. Flask/Tornado/Django

    深入学习Python ,用Django做Web后端开发现在Python的用途愈来愈广,服务器.Web.游戏.爬虫.数据分析 以及人工智能 学习之路还很长 技术之路 不能回头 陷进去  就出不来 就跟恋 ...

  8. flask,scrapy,django信号

    简介 Django.Flask.scrapy都包含了一个“信号分配器”,使得当一些动作在框架的其他地方发生的时候,解耦的应用可以得到提醒. 通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒 ...

  9. 解决Flask和Django的错误“TypeError: 'bool' object is not callable”

    跟着欢迎进入Flask大型教程项目!的教程学习Flask,到了重构用户模型的时候,运行脚本后报错: TypeError: 'bool' object is not callable 这是用户模型: c ...

随机推荐

  1. C# .Net Core 3.1 中关于Process.Start 启动Url链接的问题

    WPF 项目迁移到.Net Core中时居然出了一堆问题...(很无语) 今天在使用的时候居然发现Process.Start居然打不开Url链接了? 报 找不到指定文件 的异常?! 一.bug重现 首 ...

  2. 部署nginx后无法访问数据库,查看www-error.log日志报错Class 'mysqli' not found in /usr/local/nginx/html/mysql.php on line 2

    检查你的php-mysql包是否安装 [root@localhost nginx]# rpm -qa php-mysql 没有任何输出则没有安装,接下来用yum安装php-mysql yum -y i ...

  3. Vue 学习笔记(四)

    一.路由简单示例 HTML <script src="https://unpkg.com/vue/dist/vue.js"></script> <sc ...

  4. php 数据库 操作

    header.php <?php error_reporting(0);//加上error_reporting(0);就不会弹出警告了 // header("Content-type: ...

  5. 详解如何实现斗鱼、B站等全局悬浮窗直播小窗口

    最近业务需求需要我们直播返回或者退出直播间时,开一个小窗口在全局继续直播视频,先看效果图. 调研了一下当下主流直播平台,斗鱼.BiliBili等app,都是用WindowManger做的(这个你可以在 ...

  6. MySQL语句-关于表单的操作总结(新手)

    MySQl表的操作: 主键的添加: CREATE TABLE 表名(列名称 数据类型--id INT PRIMARY KEY AUTO_INCREMENT,列名称2 数据类型,············ ...

  7. drf-jwt的过滤,筛选,排序,分页组件

    目录 自定义drf-jwt配置 案例:实现多方式登陆签发token urls.py models.py serializers.py views.py 案例:自定义认证反爬规则的认证类 urls.py ...

  8. Linux时间和现实时间不同步解决方案

    输入三条命令 yum install ntpdate -y ntpdate tiger.sina.com.cnping tiger.sina.com.cn 然后输入date检查时间是否已经同步

  9. A TensorBoard plugin for visualizing arbitrary tensors in a video as your network trains.

    Beholder is a TensorBoard plugin for viewing frames of a video while your model trains. It comes wit ...

  10. 开发一个健壮的npm包

    项目地址:loan-calculate-utils npm包的发布.更新查看上一篇文章 开发一个基础的npm包 目前我们的目录是这个样子: . ├── source 源代码目录 │   └── ind ...