python在web可以开发吗_Web | 浅谈用Python进行Web开发

Web开发这样一个大概念,对我这种小白来说,想学也不知道从哪下手。在网上广泛地浏览了一下这个方面的文章后,我发现当今Web开发的一大热门语言是Python(最大的当然还是PHP),而恰好我平常用Python也多,从Python入手,学习Web后端开发,也许要容易些。

1 WSGI, 即Web Server Gateway Interface

Web开发有两大基础:

HTTP协议

HTML语言

HTTP协议在Web领域的重要性不必赘述,这样一个重要的概念,如果交给开发者去实现,且不谈编程,单是看懂庞大的协议,就会花掉大量的时间。好在我们意识到,实现协议的工作,显然是可重复利用的。可重复利用的HTTP协议实现,被封装在Python库里,就有了Python进行Web开发最基本的一个库:WSGI(Web Server Gateway Interface)。WSGI为开发者封装了HTTP协议的实现,将网络通信抽象为接收数据报和发送数据报的简单函数。对HTTP协议有基本了解的读者可以看一看下面的例子。

def application (environ, start_response):

start_response('200 OK', [('Content-Type', 'text/html')])

return '

Hello World!

'

上面的这个函数就是WSGI规定的函数形式,接收两个参数environ, start_response,返回header和body。从这个例子我们可以看出,WSGI已经对开发者隐藏了HTTP协议的发送、接收过程,而开发者只需要管好自己的Web程序要做的事情,可谓大大便捷了开发人员的工作。

2 Web框架

WSGI是重要的Web开发库,使开发者不再被HTTP协议困扰,但仅仅有WSGI还不够,在实际开发中,我们希望有一套Web框架,能为开发者做更多的事情。开发者想要框架能做更多事情,想要框架能够处理不同URL的访问,如对同一ip不同目录的访问;想要框架能够处理不同形式的访问,如GET, POST等。

这就说到了用Python进行Web开发的利器:Web框架。Web框架提供了Web开发更高层次的抽象,开发者可以把更少的精力花在各种响应的区分上,而把主要的精力用在响应的内容上。以主流的Python-Web框架Flask为例,开发者可以为每种URL,每个访问方式定义单独的函数。下面的代码就是一个简单的Flask框架下的Web程序。

from flask import Flask

from flask import request

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])

def home():

return '

Home

'

@app.route('/signin', methods=['GET'])

def signin_form():

return '''

Sign In

'''

@app.route('/signin', methods=['POST'])

def signin():

# 需要从request对象读取表单内容:

if request.form['username']=='admin' and request.form['password']=='password':

return '

Hello, admin!

'

return '

Bad username or password.

'

if __name__ == '__main__':

app.run()

有了这些基本的认识,我们就已经能够用Python进行Web开发了。当然,本文所谈及的,只是用Python进行Web开发最入门的知识,若要深入下去,还有许多东西需要学习,如数据库管理、自定义Web框架等。今天我们暂时谈到这里,关于这个话题,我还会继续跟进。

18/08/31更新:Web开发者学习路线图

226500950ec9

Web学习路线,请点击图片查看原图

来源:某篇知乎回答(找不到了,侵删)

之前的文章的标题是“浅谈用Python进行Web前端开发”,现已修改,原因是用Flask框架进行的其实是Web后端开发。

Web前端开发如上图所示,主要用到的还是html, css和 JavaScript及相关工具。这些语言可以在以下网站学习。这些网站我都用过,内容很不错:

Reference

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值