美文网首页
Django动态网站基础

Django动态网站基础

作者: 偷天神猫 | 来源:发表于2015-10-30 09:14 被阅读158次

Web开发的基本流程

a. 用户向Web服务器请求一个文档;
b. Web服务器随即获取或生成这个文档;
c. 服务器把结果返回给用户的浏览器;
d. 最后浏览器将这个文档渲染出来。

下面我们来实际分析一下具体细节有哪些?

一、通信:HTTP、URL、请求、响应​

djangoResponse
  • HTTP(超文本传输协议)=请求+响应;
  • 请求的核心是URL;
  • ​响应由正文(body)和响应包头(header)组成。

​Django将请求和响应表示成相对简单的Python对象,用属性来表示其数据,以及用方法来进行更复杂的操作。

二、数据存储:SQL和关系数据库

SQL

Web的作用可以理解为传输数据或内容共享(这里的内容可以是任何东西——blog帖子,金融数据,电子书等)。

  • 静态内容:同样的URL请求返回的信息总是一样的。
  • 大部分动态特性是通过将数据保存在数据库里实现的​。
  • SQL(结构化查询语言)是用来定义和查询数据库的语言,通常被进一步抽象为一个ORM(对象关系映射),它可以把数据库里的数据映射为面对对象语言里的代码对象。
  • SQL数据按照表(table)的形式来组织,每张表则由行(row,例如,条目、对象)和列(column,属性、变量)组成,基本上和数据表格很相似。

Django提供了一个强大的ORM机制,Python的类就代表了表,对象代表了其中的每一行,而对象的属性则代表了列。

三、​表示

将模板渲染成HTML和其他格式,使用:

​HTML,JavaScript,CSS……

四、​组合在一起

上述三者之间靠什么工具来进行交流?

每个Web框架或语言都有不同的方法。这里只讲Django自己的方式。​

​传统思想为分层(MVC),即:
MVC:Model-View-Controller,模型-视图-控制器

  • 模型:控制数据;
  • 视图:定义显示的方法;
  • 控制器:在两者之间斡旋,并且让用户可以请求和操作数据。

Django的办法:

  • 模型部分保持不变,​只负责把数据传入数据库。
    ​- Django的视图其实更接近MVC里传统意义上的控制器。它们是将模型层和表示层链接在一起的Python函数。

Django​开发团队是这样解释的:

  • 我们理解的MVC里,视图的作用是描述将要显示给用户的数据。这不仅仅是数据看上去的外观(look),还包括如何表示数据(present)。视图描述的是你能看哪些数据,而不是怎么看到它。这里面的区别很微妙。
  • 换一种说法,Django把表示层一分为二,视图方法定义了要显示模型里的什么数据,而模板则定义了最终信息的显示方法。而框架自己则担当了控制器的角色——它提供了提供了决定什么视图和什么模板一起响应给定请求的机制。

详细的解释

  • 模型:应用程序的基本,是最底部的一层,是基础。​从整个Web应用的角度来说,模型可能是最容易领会却也是最难掌握的部分。
  • 视图:视图组成了Django应用程序里的很多的逻辑。它们的定义实际上却很简单:它们是链接到一个或多个定义URL上的Python函数,这些函数都返回一个HTTP响应对象。​
  • 模板:​当一个视图与要返回一个HTML文档时,它通常会制定一个模板,提供给它所要显示的信息,并在响应里使用模板渲染的结果。

相关文章

  • Django动态网站基础

    Web开发的基本流程 a. 用户向Web服务器请求一个文档;b. Web服务器随即获取或生成这个文档;c. 服务器...

  • 基于Mac OS的python3+Django网站搭建-4

    前面简单介绍了用Django建站的基础流程。从本文开始正式启动一个博客网站的建立。 一、Django框架 Djan...

  • Django视图:动态内容

    第二个视图:动态内容“Hello world”视图在演示Django工作原理的基础上很有启发意义,但它不是一个动态...

  • Django基础(5): Admin

    陆续更新中:Django基础(1): 目录文件简介Django基础(2): 创建应用Django基础(3): 配置...

  • Django基础(4): 建立Templates

    陆续更新中:Django基础(1): 目录文件简介Django基础(2): 创建应用Django基础(3): 配置...

  • Django基础(3): 配置url

    陆续更新中:Django基础(1): 目录文件简介Django基础(2): 创建应用Django基础(3): 配置...

  • Django基础(2): 创建应用

    陆续更新中:Django基础(1): 目录文件简介Django基础(2): 创建应用Django基础(3): 配置...

  • Python构建网站

    Python Django框架网站搭建入门 Django 中文文档 The Django Book

  • python django基础(二)

    接上一篇, django MTV模式之----template模版 django是动态的网页,后台的数据需要动态的...

  • Djiango

    Django是一个用 Python 编写的 Web 框架。Web 框架是一种软件,基于web框架可以开发动态网站,...

网友评论

      本文标题:Django动态网站基础

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