Django 前戏
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 pathfrom app01 import viewsurlpatterns = [path('admin/', admin.site.urls),path('index/',views.index), ]
url控制器
from django.shortcuts import render# Create your views here.def index(request):import datetimenow=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框架就算是搭建出来了:大概的样子我们可以看一下:
更加精致的画面就要我们在以后的设计当中慢慢的去完善
转载于:https://www.cnblogs.com/RootEvils/p/9824742.html
Django 前戏相关推荐
- {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证...
Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...
- Django开发环境准备
环境安装 前戏 需要了解的基本知识: 网络配置:参考 共享路径:参考 需要的软件&镜像 VirtualBox :号称是最强的免费虚拟机软件 下载地址如下(安装适合自己操作系统的软件): htt ...
- Django的中间件
Django的中间件 目录 中间件介绍 什么是中间件? 自定义中间件 自定义一个中间件示例 process_request process_response process_view process_ ...
- python框架之Django(2)-简单的CRUD
写一个简单的项目小例子来了解Django中的O/RM操作 前戏 创建app #在Django项目根目录下执行 python3 manage.py startapp [app name] 配置数据库连接 ...
- Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(一)
阅读目录 一.Django中的缓存: 前戏: Django中的几种缓存方式: Django中的缓存应用: 二.跨域: 跨域知识介绍: CORS请求分类(简单请求和非简单请求) 示例: 三.自动生成接口 ...
- Django框架深入了解_04(DRF之url控制、解析器、响应器、版本控制、分页)(二)
解析器介绍: 所谓解析器,就是前端传过来的数据,后端可以解析,从request.data中取出来,默认的解析器配置是三种编码格式都可以取 回到顶部 解析器的作用: 根据请求头(content-type ...
- Django中间件2
前戏 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面.我们通过给几个特定视图函数加装饰器实现了这个需求.但是以后添加的视图函数可能也需要加上装饰 ...
- django -- 实现ORM登录
前戏 上篇文章写了一个简单的登录页面,那我们可不可以实现一个简单的登录功能呢?如果登录成功,给返回一个页面,失败给出错误的提示呢? 在之前学HTML的时候,我们知道,网页在往服务器提交数据的时候,都是 ...
- Django实现用户管理
Django实现用户管理 前言 第一节 - 自定义模版和静态文件 1. 自定义模版位置和静态文件 2. 通用静态文件和模版设置 模版设置: 3. 关于访问 /admin 报错的探究 第二节 - 用户登 ...
- 11.Django基础九之中间件
一 前戏 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面.我们通过给几个特定视图函数加装饰器实现了这个需求.但是以后添加的视图函数可能也需要加上 ...
最新文章
- python自动测试p-python自动化测试报告(excel篇)
- 计算机上能玩vr游戏吗,VR设备是什么? 听说可以用来玩电脑游戏的?
- 实现IFrame的自适应高度
- java怎么设置快速修复键_Java开发环境之------MyEclipse快捷键和排除错误第一选择ctrl+1(***重点***:ctrl+1,快速修复---有点像vs中的快速using...
- fread函数和fwrite函数,read,write
- python3多线程编程_Python 3多线程编程学习笔记-基础篇
- 常用词句或缩略语汇总
- 关于websocket兼容IE版本
- 【BZOJ3097】 Hash Killer I
- 生活,人艰不拆......
- 接入网+承载网+核心网
- c语言生成exe文件,打开exe文件闪退怎么办
- [转]大规模服务设计部署经验谈
- 去掉WebView中的白色背景
- 房租,社会教给年轻人的第一课
- 以太网 因特网 互联网 万维网 的区别
- bugku 杂项 图穷匕见 wp
- 博士年薪22-40万,重点大学博士给100㎡产权房,安家费30-40万,省会城市高校 | 留言送书...
- LS,MMSE,LMMSE,ML,MAP,LMS,AR,MSE误差介绍
- [再寄小读者之数学篇](2014-11-20 计算二重积分)