1.1http协议
HTTP 协议是接下来学习网站框架最重要的协议HTTP (HyperText Transfor Protocol) 超文本传输协议是互联网目前应用最为广泛的一种协议目前的 WWW 服务器都基于 HTTP 协议,HTTP 协议的目的是为了提供一种发布 Web 及接收 Web 页面数据的方法HTTP 协议常用端口为 80,客户端首先通过 80 端口向 HTTP 服务端发起请求,建立 TCP 连接,之后进行 HTTP 数据传输
1.2B/S 架构
HTTP 协议属于建立在 TCP 协议中的应用层上的一种协议,HTTP 协议以客户端请求和服务端应答为标准,浏览器(*browser*)通常被人称为客户端,Web 服务器(*server*)常被称作服务端,所以人们经常称这样浏览器/服务端的架构为 B/S 架构
1.3 短链接
当浏览器作为客户端访问服务器之后,取到所有所需的数据,立即断开 TCP 连接,整个 HTTP 连接过程非常短,所以人们也常称 HTTP 协议为无连接的协议这也因为每一次 HTTP 的请求,都是重新开启一个新的连接,而不是在一个历史连接持续工作
1.4 Request 请求
当我们使用HTTP协议访问某个连接时,首先需要向服务器提交一个Request请求
GET 获取服务端数据,比如浏览一个网站,最普通的动作
POST 向服务端提交数据,比如注册帐号的时候
PUT 向服务端上传数据
DELETE 删除服务端通过 Request-URL 所标示的资源
TRACE 测试服务端是否可以接收到 Request 请求
服务器接收到之后,会向我们返回一个Response响应,浏览器接收到了Response之后,会帮助我们对信息进行解析,之后我们就可以看到对应的Web页面及获取到的资源
状态码100 Continue HTTP/1.1 中新增状态码,表示客户端可以继续请求 HTTP 服务器
200 OK 客户端的请求服务端正常完成
301 Moved Permanently 客户端请求的资源已被永久移动到新的 URL
400 Bad Request 客户端的请求语法错误,或无法解析请求
500 Internal Server Error 服务端内部错误;
可能是因为 Web 服务配置文件读取错误
也可能是因为用户权限等等问题导致
静态网站
静态网站的概念也很简单,就是将数据直接写死在页面中,静态网站也因此经常使用在一些数据不经常改变的场景下,网站内容也是相当的稳定,几乎不会怎么更新
动态网站
为页面传递数据,或者接受页面数据再传递给数据库或做一些其他 *** 作
框架介绍
MVT&MVC
M-model:模型, *** 作数据库功能部分
V-View:视图,处理业务逻辑的位置,提取数据、获取用户数据等等 *** 作都在这里
T-Template:模版,用来展示视图 *** 作后的数据,也可以在模版中为用户提供表单,让用户可以提交数据
MVC是类似于Django的MVTM-model:模型,和MVT的 m 是一样的,同样用来 *** 作数据库
V-view:视图,和MVT的 T 是一样的,用来进行数据的可视化
C-Controller:控制器,相当于MVT中的 C,用来进行数据的逻辑 *** 作
Django介绍
Django是一个开放源代码的Web 应用框架,由纯Python写成,是目前 Python 语言中主流 de 三大Web框架之一(flask、django、tornado),是最容易上手的框架
Django应用
Pinterest:这是世界上最大的图片社交分享网站
bitbucket:这是一家源代码托管网站,拥有无限制的私人仓库个数,磁盘空间,以及灵活的权限控制等
nasa:美国宇航局官方站点
特点
Django适合与内容有关的项目,常见的就是后台管理,一些系统,这个框架适合敏捷开发,可以让开发者快速高效的产出,而其他需要并发等的业务体系,Django就不太适合了
#安装django :pip install django==2.2.2
创建项目:django-admin startapp myapp
运行:python manage.py runserver
2.3目录介绍
manage.py:用来管理当前项目的一个命令行工具
myproject:项目主文件夹,包含了项目最基本的配置文件及路由文件
__init__.py
:空文件,用来指明当前的myproject为一个可导入的模块包
urls.py:项目主要路由配置文件
wsgi.py:项目部署WSGI并发服务器时所需要的配置文件
创建
python manage.py startapp appname
3.2子应用目录结构
admin.py:这个app所使用表模型在admin注册展示时需要的文件
views.py:视图函数文件,编写主要的增删改查等数据逻辑的地方
models.py:未来 *** 作数据库时,如果使用ORM****映射关系,那么将使用该文件
打开app下的views.py**文件,编写视图函数
from django.http import HttpResponse
class RegisterView(View):
#返回注册页面
def get(self,request):
return render(request,‘index.html’)
from myapp.views import RegisterView
urlpatterns = [
path(‘admin/’, admin.site.urls), #admin 控制界面路由
path(‘index/’,RegisterView.as_view()),
]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)