python编程:从入门到实践豆瓣,python开发技术详解
【零基础Python】后端开发第二十节——Python Web开发一:Web开发入门_ Its Dream的技术博客_博客
Yyds干货库存
@[TOC](Python Web开发I:Web开发入门)
一、背景知识当今互联网时代,人们经常在电脑上使用浏览器或手机购物、刷新闻、娱乐、学习。这些丰富多彩的应用程序背后的软件系统是基于web技术开发的。这些系统通常可以分为客户端和服务器端。
丰富多彩的应用:1。网络应用2。移动应用程序
Web系统:1。客户端(前端)2。服务器(后端)3。全栈
这是我们的简单示意图:
比如手机应用(比如微信)是客户端,腾讯的微信服务程序(运行在腾讯机房)是服务器。比如电脑打开淘宝,浏览器中运行的淘宝页面是客户端,阿里巴巴的淘宝服务程序(在阿里的机房运行)是服务器。有些人喜欢把客户端叫做前端,把服务器叫做后端。
那么开发客户端(前端)的工程师就叫客户端(前端)工程师,开发服务器(后端)的工程师就叫服务器(后端)工程师。如果一个工程师既能做前端开发又能做后端开发,通常可以称为web系统的全栈工程师。
有必要在客户端和服务器之间交换数据信息。想象一下,你登录淘宝,想查看你的购买记录,你的购买记录是存储在阿里的服务器上的,那么浏览器需要从阿里的服务器上获取你的购买记录。
那么作为客户端的浏览器或者手机是如何获取信息的呢?
通常,HTTP网络协议(超文本传输协议)用于通过网络传输数据信息。
客户端通过http协议向服务器发送请求信息,并接收服务器的响应信息。
2.前端开发和后端开发怎么办?我们先来看看前端开发和后端开发一般是怎么做的。
这里,我们先来关注一下浏览器前端,也就是web前端。对于手机前端的开发,暂时不涉及。
1.Web前端开发一句话,Web前端开发就是:提供用户界面。
具体来说,我们需要做到以下几点:
1.1html文件用于向用户展示界面。我们看到的各种漂亮的网页都是通过解释html实现的。
例如,让我们打开一个网站,像CSDN的界面:
在这个界面上,我们可以看到各种功能和排列好的图形字符出现在界面上。其实这些都归功于我们的网页读取我们的Html文件,并在这些网页上呈现内容。我们可以点击F12进入页面分析。事实上,页面上的所有内容都来自页面元素中的div:
页面上的一切在HTML中都有对应的元素,这样我们的页面才能呈现出来。前端开发的任务之一就是创建我们的HTML文件。
当然,单靠html还不足以展示各种漂亮的界面,让用户操作起来很方便。还需要以下文件。
1.2css例如,如果我们想要改变页面的字体或颜色,我们需要css来改变它:
CSS控制界面的显示风格和效果,比如字体、大小、前景色、背景色、间距、一些动画效果等等。总之,就是让你的界面更好看。
1.3资源文件包括界面上显示的图片和视频。
1.4javascript脚本html文档中经常会包含一些javascript脚本(简称js)。
Js是一种类似python的编程语言。
Python脚本由python解释器执行,js脚本由浏览器内置的js引擎执行。
注意:html和css文档只定义了一些静态的接口内容。前端动态函数是通过浏览器执行这些js脚本生成的。
以上所有文件都需要我们的浏览器来解释和执行。
1.5浏览器解读上述文件开发完成后,都是通过浏览器运行,展示界面供用户观看和操作。
以上文件(html、css、js)不能直接放在浏览器端,但都部署在后端服务器上(有的在cdn上)。
当我们浏览一个网站时,浏览器首先通过http协议获取这些文档,然后读取并解释它们的内容,并生成相应的界面供我们操作。
大概十年前,相对于后端开发,前端开发比较少。主要是设计界面。前端开发一般不具备太多的动态逻辑控制功能。最多用js脚本做一些页面动态效果和一些数据验证(比如注册时检查用户名长度等。).主要的数据处理,业务逻辑的实现,甚至界面html文档的动态生成都是由后端完成的。因为设计的难度比较小,前端工程师有时会被称为接口工程师,略带鄙视。现在由于浏览器内嵌的js解释器性能提升很快,很多代码逻辑可以在前端实现。因为前端浏览器运行在每个用户自己的电脑(或手机)上,如果在前端实现了一部分业务逻辑,就相当于成千上万的前端设备分担了后端的负载,可以大大分担后端的压力。因此,前端在web系统设计中的重要性越来越大。前端工程师往往需要javascript语言来实现数据处理和显示。
是的,前端也实现了一些业务逻辑功能。例如:用户权限检查、用户显示数据过滤等。有些架构师喜欢把很多业务逻辑转移到前端,界面渲染的功能完全由前端实现。这样,后端做简单的数据存储和分析。
所以现在前端工程师不仅可以设计和实现用户界面,还可以使用js语言实现数据采集、分析处理和业务相关的逻辑。
2.Web后端开发刚刚说了前端开发的工作,那么后端开发主要做什么呢?
其实后端是为前端服务的,没有优劣之分。我不能说我是前端工程师,所以后端工程师要完全为我服务,需要为我端茶倒水等等。如果是这样,你可能是.挨打。两者之间的服务是指工作上的相互服务。只有前端和后端的沟通恰到好处,相互配合,相互沟通,才能产生最灿烂的火花。
后端程序的主要工作是数据管理,通常包括数据存储(包括添加、删除和修改)和查询。
这听起来很简单,但实际上有些业务流程是非常复杂的(想想淘宝购物),有时候一个购买操作涉及到很多逻辑处理。
而且如果设计用户数量很大,需要响应百万以上的客户访问,就要精心设计架构,做好大量用户请求的多服务分布式、集群化处理。
一般来说,后端开发需要做:
2.1静态文件服务方案前端开发的HTML、css、js文件存储在哪里,用什么服务提供对前端浏览器的访问?通常对于比较大的网站,静态文件往往使用单独的服务器提供服务。一些消耗特殊带宽的数据(比如视频、图片)会使用第三方云服务提供商(比如阿里云的cdn、oss服务)。
2.2API接口设计是定义前端和后端交互的接口规范,常用的有:REST
目前流行REST API风格的接口,但是我们需要设计具体的API请求和响应消息。
这通常应该由架构师来设计,但往往会落到后端工程师的头上。其实在很多公司,系统架构师也是做后端开发的。
2.3数据库存储方案如:选择什么样的数据库,包括关系型和非关系型数据库。
2.4数据库表结构设计应能合理高效地存储业务数据,以便高效地查询和修改各种相关数据。为了提高性能,需要决定使用哪个缓存服务和异步任务服务。还有其他一些特殊的考虑,比如熟悉越来越流行的云存储技术,合理的将图片、视频等所有数据存储在云端。有些系统还需要大数据分析的需求,需要在后端高效实现。
第三,使用Django开发后端服务,开源免费的Web应用开发框架。我们开发销售管理系统,成为后端开发者。你可以把自己想象成一个后端开发人员,按照上面的系统需求一步步实现后端系统。至于这个系统的前端开发,你也假设是一个团队在开发。如果您的后端实现是正确的,您可以正确连接并成功完成一个完整系统的功能。
别担心,下次我带你逛逛~下次见!
来自博客作者为梦想原创作品。转载请联系作者取得授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。