zoukankan      html  css  js  c++  java
  • Django开发框架知识点

    一、什么是web服务器(了解)

    当我们在浏览器输入URL后,浏览器会先请求DNS服务器,获得请求站点的 IP 地址。然后发送一个HTTP Request(请求)给拥有该 IP 的主机,接着就会接收到服务器给我们的 HTTP Response(响应),浏览器经过渲染后,以一种较好的效果呈现给我们。

    这个过程中,正是Web服务器在幕后默默做贡献,它永久地等待客户端(主要是浏览器,比如Chrome,Firefox等)发送请求。

    当收到请求之后,它会生成相应的响应并将其返回至客户端。

    Web服务器通过HTTP协议与客户端通信,因此也被称为HTTP服务器。

    (一)Web服务器工作原理

    可分成如下4个步骤

    1. 建立连接:客户机通过TCP/IP协议建立到服务器的TCP连接
    2. 请求过程:客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档。
    3. 应答过程:服务器向客户机发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言的解释引擎负责处理“动态内容”,并将处理得到的数据返回给客户端。由客户端解释HTML文档,在客户端屏幕上渲染图形结果。
    4. 关闭连接:客户机与服务器断开。

     

    http  超文本传输协议   www域名都必须遵守这个协议

    https   安全 套接字协议

    古代的时候:飞鸽传书

    庞广达->寂寞难耐->想认识一个朋友,聊聊天

    飞鸽传书的地址 http://  北京市昌平区(门牌号)/天通苑/东厢房/人物:任君爽

    找任君爽 有几种可能

    (1)查无此人404

    403 forbidden

    (2)找到人了

    人不来

    人来了  互相学习XXOO   200

    (3) 鸽子累死了

    (4) 任君爽不舒服 500服务器问题

     

    例如:我们实现一个简单的 Web 服务器,监听本地端口 8000,在浏览器访问 http://localhost:8000 就能看到响应内容。而我们的程序也能够打印出客户端发来的请求内容

     

    二、什么是web框架(了解)

    框架(framework),特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演。

    对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。

    早期开发站点确做了许多重复性劳动,后来为了减少重复,避免写出庞杂,混乱的代码,人们将 Web 开发的关键性过程提取出来,开发出了各种 Web 框架。

    有了框架,就可以专注于编写清晰、易维护的代码,无需关心数据库连接之类的重复性工作。

    用户输入 URL,客户端发送请求,控制器(Controller)首先会拿到请求,然后用模型(Models)从数据库取出所有需要的数据,进行必要的处理,将处理后的结果发送给 视图(View),视图利用获取到的数据,进行渲染生成 HtmlResponse返回给客户端。

    三、Python web 目前较火的三大框架(了解)

    (一)Django

    Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。

    它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。

    (二)Flask

    Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。

     Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

     Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。

    (三)Tornado

     Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。

     得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务

    的一个 理想框架。

    四、MVC/MTV介绍

    (一)MVC:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

      通俗解释:一种文件的组织和管理形式!不要被缩写吓到了,这其实就是把不同类型的文件放到不同的目录下的一种方法,然后取了个高大上的名字。当然,它带来的好处有很多,比如前后端分离。       

      模型(model):定义数据库相关的内容,一般放在models.py文件中。

      视图(view):定义HTML等静态网页文件相关,也就是那些html、css、js等前端的东西。

      控制器(controller):定义业务逻辑相关,就是你的主要代码。 

    (二)MTV: view不再是HTML相关,而是主业务逻辑了

    html被放在Templates中,称作模板,于是MVC就变成了MTV。

     

    五、Django框架起步(重点)

     

  • 相关阅读:
    好用的镜头站下载工具
    300+Jquery, CSS, MooTools 和 JS的导航菜单资源
    股票入门2
    MEF学习笔记(6):出口和元数据
    MEF学习笔记(5):迟延加载导出部件
    WinForm控件复杂数据绑定常用数据源(如:Dictionary)(对Combobox,DataGridView等控件DataSource赋值的多种方法)
    wpf 多线程绑定控件
    HTTP 错误 404.2 Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
    ADODB.Stream 错误 '800a0bbc' 写入文件失败。
    'System.Windows.StaticResourceExtension' threw an exception
  • 原文地址:https://www.cnblogs.com/aidenzdly/p/11002818.html
Copyright © 2011-2022 走看看