美文网首页
Django简介

Django简介

作者: 酷飒de小姐姐 | 来源:发表于2021-04-27 19:36 被阅读0次

    Django基本介绍

    Django是用Python开发的一个免费开源的Web框架,几乎囊括了Web应用的方方面面,可以用于快速搭建高性能、优雅的网站。

    Django提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。Django提供了通用Web开发模式的高度抽象,为频繁进行的编程作业提供了快速解决方法,并为“如何解决问题”提供了清晰明了的约定。Django通过DRY(Don't Repeat Yourself,不要重复自己)的理念来鼓励快速开发。

    ①自带管理后台:只需几行简单代码的设置,就可以让目标网站拥有一个强大的管理后台,轻松对内容进行增加、删除、修改与查找,并且能很方便地定制搜索、过滤等操作,因此特别适合用于内容管理平台。

    ②灵活的路由系统:可以定义优雅的访问地址,按需定义,毫无障碍。

    ③强大的数据库ORM:拥有强大的数据库操作接口(QuerySet API),可以轻松执行原生SQL。

    ④易用的模板系统:自带强大、易扩展的模板系统。当前后端分离开发时,可以只用Django开发API,不使用模板系统,也可以轻易替换成其他模板。

    ⑤缓存系统:与Memcached, Redis等缓存系统联合使用,获得更快的加载速度。

    ⑥国际化支持:支持多语言应用,允许定义翻译的文字,轻松翻译成不同国家/地区的语言。

    Django的MVT架构简介

    Django支持MVC模式。MVC(Model-View-Controller)模式是开发Web应用程序的一种软件设计模式,其中各部分功能如下:

    模型(Model):位于模式底层,负责管理应用程序的数据。它处理来自视图的请求,并且响应来自控制器的指令以更新自身。

    视图(View):负责向用户以特定格式呈现全部或部分数据。

    控制器(Controller):控制模型和视图之间交互的代码。

    MVT(Model-View-Template)与MVC略有不同。主要区别在于Django本身已经实现了控制器(Controller)这部分的功能,暴露给开发者的是模板(Template)。可以简单认为Django中的模板是HTML文件,但其支持Django的模板语言。这种模板语言简单来说就是通过占位符、循环、逻辑判断等来控制页面上的内容展示。如下图所示:

    图1

    Django和主流Web框架对比:

    Flask是小而精的微框架(Micro Framework),它不像Django那样大而全。如果使用Flask开发,开发者需要自己决定使用哪个数据库ORM、模板系统、用户认证系统等,需要自己去组装这些系统。与采用Django开发相比,开发者在项目开始的时候可能需要花更多的时间去了解、挑选各个组件,正因为这样,Flask开发的灵活度更高,开发者可以根据自己的需要去选择合适的插件。由于是自己一步步地将整个系统组装起来的,因此也比较容易了解各个组件部分。

    Tornado是一个PythonWeb框架和异步网络库,最初由FriendFeed开发。当初设计它的目的是为了解决10000个并发连接(C10K问题),传统的Apache服务器会为每个HTTP请求连接一个线程,而在大多数Linux发行版中默认线程堆(Heap)大小是8MB,当连接数量过多时,这种线程池的方式极易耗光服务器上的所有资源。Tornado会把等待资源的操作挂起,当数据准备好时,再回调相应的函数。通过使用非阻塞网络I/O , Tornado可以轻松应对数万个连接。因而Tornado也就成为长轮询,是WebSocket和其他需要与每个用户建立长期连接的应用程序的理想选择。和Django相比,使用Tornado编写异步代码对于开发者来说,没有Django或Flask编写同步代码那么简单、直接和高效。

    相关文章

      网友评论

          本文标题:Django简介

          本文链接:https://www.haomeiwen.com/subject/adhurltx.html