美文网首页
初入Django

初入Django

作者: 流蓝浅 | 来源:发表于2018-04-09 18:50 被阅读0次
    Web默认端口:80
    http协议是建立在tcp/ip之上的
    什么是Web?

    web 主要用于表示计算机中的广域网络(world wide web )万维网 是建立在internet上的一种网络

    什么是web软件?

    web 软件是一种基于web为其数据交互基础的计算机软件
    该类型软件,通过web万维网的数据的数据交互协议,通过网络进行数据传输,主要目的是高效率的跨平台跨地区的数据共享

    超文本传输协议

    HTTP,HyperText Transfer Protocol,是互联网上应用最为广泛的一种网络协议
    所有的 WWW 文件都必须遵守这个标准。
    设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。
    是一个基于 TCP/IP 通信协议来传递数据
    一个属于应用层的面向对象的协议
    浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器根据接收到的请求后,向客户端发送响应信息。

    主要特点:简单快速,无连接,无状态,支持 B/S 及 C/S 模式

    URI 与 URL

    HTTP 使用统一资源标识符 URI(Uniform Resource Identifiers)来传输数
    URL 是一种特殊类型的 URI,包含了用于查找某个资源的足够的信息
    普通 URL 组成
    http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#
    name
    1.协议部分:该 URL 的协议部分为“http:”,这代表网页使用的是 HTTP 协议。
    2.域名部分:该 URL 的域名部分为“www.aspxfans.com”。也可以使用 IP 地址
    3.端口部分:域名和端口之间使用“:”作为分隔符。如果省略,将采用默认 80 端口
    4.虚拟目录部分:从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。
    5.文件名部分:从域名后的最后一个“/”开始到“?”为止,是文件名部分,不是 URL 必须
    的部分
    6.锚部分:从“#”开始,
    7.参数部分:从“?”开始,参数是键值对的形式,参数之间用“&”分隔符。
    URI,是 uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
    Web 上可用的资源 HTML 文档、图像、视频片段、程序等

    HTTP 请求方法

    HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
    HTTP1.1 新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
     GET 请求指定的页面信息,并返回实体主体。
     HEAD 类似于 get 请求,只不过返回的响应中没有具体的内容,用
    于获取报头
     POST 向指定资源提交数据进行处理请求(例如提交表单或者
    文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的
    和/或已有资源的修改。
     PUT 从客户端向服务器传送的数据取代指定的文档的内容。
     DELETE 请求服务器删除指定的页面。
     CONNECT HTTP/1.1 协议中预留给能够将连接改为管道方式
    理服务器。
     OPTIONS 允许客户端查看服务器的性能。
     TRACE 回显服务器收到的请求,主要用于测试或诊断。

    GET 和 POST 的区别

    GET 提交的数据会放在 URL 之后,以?分割 URL 和传输数据,参数之间以&相连,如
    EditPosts.aspx?name=test1&id=123456. POST 方法是把提交的数据放在 HTTP 包的
    Body 中.
    GET 提交的数据大小有限制(因为浏览器对 URL 的长度有限制),而 POST 方法提交的数
    据没有限制.
    GET 方 式 需 要 使 用 Request.QueryString 来 取 得 变 量 的 值 , 而 POST 方 式 通 过
    Request.Form 来获取变量的值。
    GET 方式提交数据,会带来安全问题,比如一个登录页面,通过 GET 方式提交数据时,用
    户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

    HTTP 工作原理

    HTTP 协议定义 Web 客户端如何从 Web 服务器请求 Web 页面,以及服务器如何把 Web
    页面传送给客户端。HTTP 协议采用了请求/响应模型。客户端向服务器发送一个请求报文,
    请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作
    为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数
    据。

    HTTP 请求/响应的步骤:

    1、客户端连接到 Web 服务器
    2、发送 HTTP 请求
    3、服务器接受请求并返回 HTTP 响应
    4、释放连接 TCP 连接
    5、客户端浏览器解析 HTML 内容

    django 简介

    开放源代码的大而全的 Web 应用框架,由 Python 语言编写......
    采用了 MVC 的框架模式,即模型 M,视图 V 和控制器 C。
    它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是
    CMS(内容管理系统)软件。并于 2005 年 7 月在 BSD 许可证下发布。这套框架是以比利
    时的吉普赛爵士吉他手 Django Reinhardt 来命名的

    特点

    强大的数据库功能

    用 python 的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果
    需要你也能执行 SQL 语句
    ORM(Object-Relational Mapping“对象-关系-映射”),它实现了数据模型与数据库的
    解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据

    自带的强大的后台功能

    几行简单的代码就让你的网站拥有一个强大的后台,轻松管理你的内容!

    优雅的网址

    用正则匹配网址,传递到对应函数,随意定义,如你所想!
    #######模板系统
    强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。
    #######缓存系统
    与 memcached 或其它的缓存系统联用,更出色的表现,更快的加载速度。

    国际化

    完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言。

    MVC

    大部分开发语言中都有 MVC 框架
    MVC 框架的核心思想是:解耦
    降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用
    m 表示 model,主要用于对数据库层的封装
    v 表示 view,用于向用户展示结果
    c 表示 controller,是核心,用于处理请求、获取数据、返回结果

    MVT

    Django 是一款 python 的 web 开发框架
    与 MVC 有所不同,属于 MVT 框架
    m 表示 model,负责与数据库交互
    v 表示 view,是核心,负责接收请求、获取数据、返回结果
    t 表示 template,负责呈现内容到浏览器


    图片.png
    什么是 ORM?
    图片.png

    对象-关系映射(Object/Relation Mapping,简称 ORM)
    几乎所有的程序里面,都存在对象和关系数据库。
    通常在业务逻辑层和用户界面层中,我们是面向对象的。当对象信息发生变化的时候,
    我们需要把对象的信息保存在关系数据库中。
    面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数
    据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现
    象,ORM 技术应运而生。
    ORM 技术可以把对象模型表示的对象映射到基于 SQL 的关系模型数据结构中去。
    因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。

    核心模块

    urls.py

    网址入口,关联到对应的 views.py 中的一个函数(或者 generic 类),访问网址就对应一
    个函数。

    views.py

    处理用户发出的请求,从 urls.py 中对应过来, 通过渲染 templates 中的网页可以将显示内
    容,比如登陆后的用户名,用户请求的数据,输出到网页。

    models.py

    与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。

    forms.py

    表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你
    也可以不使用。

    templates 文件夹

    views.py 中的函数渲染 templates 中的 Html 模板,得到动态内容的网页,当然可以用缓
    存来提高速度。

    admin.py

    后台,可以用很少量的代码就拥有一个强大的后台

    settings.py

    Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

    相关文章

      网友评论

          本文标题:初入Django

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