zoukankan      html  css  js  c++  java
  • Django简介

    一、 前言

    二、一般Web框架架构

    三、MVC与MTV模型

    四、Django的特点

    五、Django的下载安装与环境配置

    一、 前言

      Django是一种基于Python的Web开发框架。借助Django,Python的程序开发人员只需要编写很少的代码,就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。

      那么什么是Web开发?这个我们在前文中已经介绍了,Web开发指的是开发基于B/S架构,通过前后端的配合,将后台服务器的数据在浏览器上展现给前台用户的应用。比如将电子购物网站的商品数据在浏览器上展示给客户,在基于浏览器的学校系统管理平台上管理学生的数据等等。本文开始我们就打开通向Django的大门,一起去了解和学习它。

    二、 一般Web框架架构

      如上图所示,大多数基于Python的web框架,如Django、tornado、flask、webpy都是在这个范围内进行增删裁剪的。例如Tornado用的是自己的异步非阻塞“WSGI”网关接口,Flask则只提供了最精简和基本的框架,Django则是直接使用了现成的WSGI,并实现了大部分功能,提供了大量的应用工具。

    三、MTV与MVC模型

      1. MVC模型

      最早由Trygve Teenskaug在1978年提出,上世纪80年代是程序语言Smalltalk的一种内部架构。后来MVC被其他领域借鉴,成为了软件工程中的一种软件架构模式。MVC把Web框架分为3个基础部分:

      模型(Model)用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法,是Web应用程序中用于处理应用程序的数据逻辑的部分,Model只提供功能性的接口,通过这些接口可以获取Model的所有功能。简单说,这个模块就是Web框架和数据库的交互层。

      视图(View)负责数据的显示和呈现,是对用户的直接输出。

      控制器(Controller)接受用户的输入调用模型和视图完成用户的请求。

      这三个部分互相独立,但又相互联系,使得改进和升级界面及用户交互流程,在Web开发过程任务分配时,不需要重写业务逻辑及数据访问代码。

      三个部分的关系示意图如下:

      2. MTV模型

      Django对传统的MVC设计模式进行了修改,将视图分成View模块和Template模块两部分,将动态的逻辑处理与静态的页面展现分离开。而Model采用了ORM技术,将关系型数据库表抽象成面向对象的Python类,将表操作转换成类操作,避免了复杂的SQL语句编写。MTV和MVC本质上是一样的。

      M 代表模型(Model) 负责业务对象和数据库的关系映射(ORM)。

      T 代表模板 (Template)负责如何把页面展示给用户(html)。

      V 代表视图(View) 负责业务逻辑,并在适当时候调用Model和Template。

      除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示:

      四、Django的特点

      1. 功能完善,要素齐全

        Django提供了大量的特性和工具,该有的常用的都有,无须自己去定义、组合、增删及修改。这也决定了Django是一个比较"重量级"的Web开发框架。 

      2. 完善的文档

        Django有广泛的实践经验和完善的在线文档(大多数为英文),开发者遇到问题时,可以方便快捷地搜索在线文档寻求解决方案。

      3. 灵活的URL映射

        Django使用正则表达式管理URL映射,灵活度高。 

      4. 强大的数据库访问组件

        Django的Model层自带数据库ORM组件,使得开发者无须学习其他数据库访问技术即可轻松完成开发需求。 

      5 . 免费的后台管理系统 

        Django操作者只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。

      6. 详细的错误信息提示

        在开发调试过程中如果出现运行错误或者异常,Django可以提供非常详细的错误信息,帮助定位问题。

    五、Django的下载安装与环境配置

      1. Django的下载 -- pip

      Django本质上是Python语言的一个类库,因此可以通过pip工具安装。这也是最简便最好的安装方式,省心实用,推荐使用。

      具体操作过程如下:  

     Windows + R  --> cmd -->  pip install django  (默认自动安装PyPi提供的最新版本)
    
    如果要指定Django版本,可使用 pip install django==2.0 这种方式。

      2. 安装成功验证

      注意:首先进入Python交互环境,而且是你安装了Django的Python解释器(当安装有多个版本的Python时)。

    import django
    
    print(django.get_version())  # 2.0.1(我选择的是Django 2.0.1版本)

      3. 配置环境

      此处我以Windows 10专业版为例,在你安装的Python根目录下的Scripts目录中可找到一个django-admin.exe文件,是Django的核心管理程序,最好将它加入操作系统的环境变量中,这样在以后的调用会比较方便。如下图所示:

      复制上图中的安装路径,添加到下图所示的 “系统变量” 中的 "Path"的 值 中,如下图所示:

      我们再次进入 cmd 中,运行 django-admin help,能看到下面的内容表示环境变量设置成功,如下图所示:

      至此,你的Django环境就配置好了,可以愉快地开始玩耍了...

      以上部分内容参考http://www.liujiangblog.com/course/django/85 和 https://www.cnblogs.com/yuanchenqi/articles/8875659.html

  • 相关阅读:
    CodeForces 19D Points (线段树+set)
    FZU 2105 Digits Count
    HDU 5618 Jam's problem again(三维偏序,CDQ分治,树状数组,线段树)
    HDU 5634 Rikka with Phi (线段树)
    Java实现 蓝桥杯 算法提高 转圈游戏(暴力快速幂)
    Java实现 蓝桥杯 算法提高 转圈游戏(暴力快速幂)
    Java实现 蓝桥杯 算法提高 转圈游戏(暴力快速幂)
    Java实现 蓝桥杯 算法提高VIP Substrings(暴力)
    Java实现 蓝桥杯 算法提高VIP Substrings(暴力)
    Java实现 蓝桥杯 算法提高VIP Substrings(暴力)
  • 原文地址:https://www.cnblogs.com/schut/p/11100557.html
Copyright © 2011-2022 走看看