• Djang简介


    一:MVC简介

    • MVC的全拼为Model-View-Controller,最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式,是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。随着标准输入输入设备的出现,开发人员只需要将精力集中在业务逻辑的分析与实现上。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。现在虽然不再使用原来的分工方式,但是这种分工的思想被沿用下来,广泛应用于软件工程中,是一种典型并且应用广泛的软件架构模式。MVC结构提供了一种按功能对各种对象进行分割的方法(这些对象是用来维护和表现数据的),其目的是为了将各对象间的耦合程度减至最小。现在的MVC结构中,模型(Model)代表应用程序的数据(data)和用于控制访问和修改这些数据的业务规则(business rule)。通常模型被用来作为对现实世界中一个处理过程的软件近似,当定义一个模型时,可以采用一般的简单的建模技术。当模型发生改变时,它会通知视(View),并且为视提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。一个视(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视负责维持数据表现的一致性。视同时将用户要求告知控制器(Controller)。控制器(Controller)定义了应用程序的行为;它负责对来自视的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP请求。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个视作为对用户请求的应答。通常一组相关功能集对应一个控制器。
    • MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容
    • 当前主流的开发语言如Java、PHP、Python中都有MVC框架
    • M全拼为Model,主要封装对数据库层的访问,内嵌ORM框架,实现面向对象的编程来操作数据库,不用考虑数据库的差异性,简单配置就可以完成数据库切换
    • V全拼为View,用于封装结果,内嵌了模板引擎,实现动态展示数据
    • C全拼为Controller,用于接收GET或POST请求,处理业务逻辑,与Model和View交互,返回结果

    Django简介

    • Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列“API、库和框架”分类第6位,被认为是该领域的佼佼者。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。
    • 点击查看django官方网站
    • 点击查看django源码
    • 点击查看1.8.2官方中文文档
    • 对于Django框架遵循MVC设计,并且有一个专有名词:MVT
    • M全拼为Model,与MVC中的M功能相同,负责数据处理,内嵌了ORM框架
    • V全拼为View,与MVC中的C功能相同,接收HttpRequest,业务处理,返回HttpResponse
    • T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html,内嵌了模板引擎
    • 差异就在于黑线黑箭头标识出来的部分

    二:搭建环境:虚拟环境:用于Python到哪运行的安装包的环境,针对不同的项目而安装的包的一个集合;

    二:虚拟环境

    • 在开发过程中,安装python包时可以联网安装:sudo pip install 包名称
        sudo pip install virtualenv
        sudo pip install virtualenvwrapper
    • 使用如上命令,默认将包安装到/usr/bin/local/python2.7/disk-package
    • 若在一台主机上,需要用到同一个包的不同版本,如果还使用上面的命令,在同一个目录下安装或者更新,其它的项目必须就无法运行了,怎么办呢?
    • 解决方案:虚拟环境
    • 虚拟环境可以搭建独立的python运行环境,使得单个项目的运行环境与其它项目互不影响

    创建虚拟环境:所有的虚拟环境,都位于/home/下的隐藏目录.virtualenvs下 --------/home/python/.virtualenvs-----------cd .virtualenvs/

    • 创建虚拟环境的命令如下
        mkvirtualenv 虚拟环境名称     例:mkvirtualenv py_django0412
    • 创建成功后,会自动工作在这个虚拟环境上
    • 提示1:创建虚拟环境需要联网
    • 提示2:工作在虚拟环境上,提示符最前面会出现“(虚拟环境名称)

    退出

    • 退出虚拟环境的命令如下  deactivate

    查看与使用

    • 查看所有虚拟环境的命令如下:workon再按两次tab-----------workon 两次tab键
    • 使用虚拟环境的命令如下:写出名称的前部分后,可以使用tab键补    workon 虚拟环境名称   例:workon py_djang:工作的当前的虚拟环境

    删除

    • 删除虚拟环境的命令如下:rmvirtualenv 虚拟环境名称
        例:先退出:deactivate      再删除:rmvirtualenv py_django

    包操作

    • 在虚拟环境中可以使用pip命令操作python包
    • 安装命令如下:pip install 包名称
    • 查看命令如下:pip freeze

    安装django包

    • 后面要学习使用django,以1.8.2版本为例,这是一个稳定性高、使用广、文档多的版本
    • 如果前面删除过虚拟环境py_django,则需要先创建一下
        mkvirtualenv py_django
    
    • 安装django1.8.2的包,命令如下:pip install django==1.8.2


      

      

  • 相关阅读:
    hover经过放大效果
    TDD
    VisualStudio UnitTest FrameWork
    Rhino Mock
    Unit Test
    GPS坐标转化为百度坐标
    只上传APK而不进行反编译,在服务器集成第三方SDK。是如何实现的
    如何实现滑动scrollview上下隐藏
    Windroy、Windroye、Bluestacks运行Android实现原理
    问个file的问题
  • 原文地址:https://www.cnblogs.com/yaboya/p/8891506.html
Copyright © 2020-2023  润新知