1.web应用

 web应用程序是一种可以通过web访问的应用程序.程序最大的好处就是用户很容易的访问应用程序,用户只需要有浏览器即可,不需要在安装其他的软件,应用程序有两种模式C/S,B/S

  C/S模式是客户端/服务端程序,也就是说这类程序一般独立运行

  B/S模式就是浏览器端/服务端的应用程序,这类程序一般要借助谷歌浏览器.火狐浏览器等各种浏览器来运行

web应用一般用的就是B/S模式 web应用程序首先是"应用程序",和用标准的应用程序语言,如:java,python等编写出来的程序没有什么本质上的不同,在网络编程的意义下,浏览器是一个socket客户端,服务器是一个socket服务端

  总之一句话就是你浏览网页不一定要用 浏览器去上,如果自己搭建一个web也是可以去上网页的

2.http协议

我们在自己搭建的web中去访问网页的时候一定要遵循一个协议,那就是Http协议,那么这个协议到底是什么呢?

  Http协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。

  HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息

 要明白的一点就是Http协议是基于TCP协议它是TCP协议中的应用层协议  同是也是满足三次握手四次挥手的

还有一点要清楚的就是Http协议规定.请求是客户端发起的.最后服务器响应改请求并返回,换句话说就是肯定是先从客户端建立通讯的.服务器在没有接受到请求之前是不会发送响应的

  在请求的时候请求体要遵循协议的格式要求

请求格式:

有两种请求方式 get   post

  

  • GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的请求体中.
  • GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.
  • GET与POST请求在服务端获取请求数据方式不同

在服务毒端相应的时候也是有协议的:

响应式协议:

那么在传输的过程中一般会出现一些响应状态码,这些状态码表示出了你的错误是出现在哪里,便于我们后期的维 一般是有五种:

说了这么还是没有引出我们要说的Django:

首先我们要了解一些模型:

1.MVC与MTV

我先说一下它它们的不同,在大部分的语言中说WEB服务框架都是说MVC模型在Python中是说MTV大致的样子差不多

MVC模型 

  Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示:

MTV模型

Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:

  • M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
  • T 代表模板 (Template):负责如何把页面展示给用户(html)。
  • V 代表视图(View):   负责业务逻辑,并在适当时候调用Model和Template。

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

说了这么多那么接下来就讲Django

1.Django的下载:

在Pycharm的命令框下面输入一下代码就能成功的下载Django

pip3 install diango

等待数秒就是会显示安装成功

2.创建一个django的项目:

在命令框里面输入一下代码
django-admin.py startproject mysite

会在当前的目录里面生生成一下的文件(这里面就是我们以后要用到的一些基本配置文件)

简单的介绍一下常用文件的意思:

manage.py   这里面放置的是一些django的工具通过他可以调用django shell和数据库等

setting.py     包含了项目的默认设置,包括数据库的信息,调用标志以及其他的一些工作变量

url.py      负责把URL模式映射到应用程序

3.在mysite目录下创建应用

python manage.py startapp blog

4.启动django项目

在,命令框里面输入一下代码:

python manage.py runserver 8000

当我们访问 http://127.0.0.1:8080/时就可以看到:  说明我们的项目就启动起来了

一个简单的实例:

from django.contrib import admin
from django.urls import path from app01 import views urlpatterns = [
path('admin/', admin.site.urls),
path('index/',views.index),
]

url控制器

from django.shortcuts import render

# Create your views here.

def index(request):

    import datetime
now=datetime.datetime.now()
ctime=now.strftime("%Y-%m-%d %X") return render(request,"index.html",{"ctime":ctime})

视图

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <h4>当前时间:{{ ctime }}</h4> </body>
</html>

模版

简单进行一些设置之后我们的django框架就算是搭建出来了:大概的样子我们可以看一下:

更加精致的画面就要我们在以后的设计当中慢慢的去完善

最新文章

  1. VS2012+LUA环境搭建
  2. nodejs模仿http请求组件nodegrass简单例子
  3. iOS - Apache Tomcat WebServer 服务器配置
  4. NSOperation创建队列
  5. ExtJS4.2学习(五)表格渲染与复选框
  6. 问题-Error creating object. Please verify that the Microsoft Data Access Components 2.1(or later) have been properly installed.
  7. Jquery页面滚动动态加载数据,页面下拉自动加载内容
  8. 如何安装mysql
  9. 《java入门第一季》之面向对象(final关键字)
  10. 【简】题解 AWSL090429 【噪音】
  11. Spring系列(七) Spring MVC 异常处理
  12. HDU 6108(整除判断 数学)
  13. Java(4)switch选择结构
  14. Ubuntu最新的主要操作系统放弃32位支持?
  15. 《Google Glass开发指南》
  16. Qt添加驱动——Qt数据库之添加MySQL驱动插件
  17. ubuntu14.04 安装五笔输入法(fcitx)
  18. docker attach 和 docker exec
  19. 插入标识列identity_insert
  20. 【bzoj3697】采药人的路径 树的点分治

热门文章

  1. oracle--序列&amp;视图&amp;索引&amp;视图&amp;可视化操作&amp;分页&amp;数据库备份
  2. qt 保存文件为utf8
  3. TimeUnit类 java.util.concurrent.TimeUnit
  4. 模板 - 线性递推BM
  5. VUE组件嵌套
  6. 继承和构造函数语法造成的一个bug
  7. VNware上安装虚拟机Ubuntu16.10 并安装petalinux(版本问题的坑 弃帖 另开一帖)
  8. sqlmap 基本使用步骤(二)
  9. div+css做出带三角的弹出框 和箭头
  10. Ubuntu Server下MySql数据库备份脚本代码