简述Web和最基础的flask框架的搭建

HTPP服务器

HTTP服务器是建立在TCP协议之上的短连接协议。
它利用了 TCP 协议的可靠性,⽤来传输超⽂本 (HTML),通信⼀次连接⼀次,通信完成后 TCP 连接关闭。
所以如果想创建⼀个 HTTP Server 需要通过 Socket 搭建⼀个服务端程序。

最简单的HTTP Server
import socket

# 定义 socket 对象
addr = ('127.0.0.1', 8000)
server_sock = socket.socket()
server_sock.bind(addr)
server_sock.listen(1024)

response_data = b'''
HTTP/1.1 200 OK
Content-Language: zh-CN
Content-Type: text/html;charset=UTF-8

<html>
    <head>
        <title>Home Page</title>
    </head>

    <body>
        <h1>Home Page</h1>
        <p>
        <img src="https://dss1.bdstatic.com/6OF1bjeh1BF3odCf/it/u=768499260,4247864507&fm=74&app=80&f=JPEG&size=f121,121?sec=1880279984&t=811bff3a31ca6ff12199601995d0289d">
        <br>
        hello %s
        </p>
    </body>
<html>
'''

while True:
    print('正在等待客户端连接。。。')
    cli_sock, cli_addr = server_sock.accept()

    print('接收客户端的数据。。。')
    request_data = cli_sock.recv(1024)
    print('客户端发送的请求报文:\n', request_data.decode('utf8'))

    # 提取 URL
    url = request_data.split(b' ')[1]
    name = url.split(b'/')[1]
    if not name:
        name = b'world'

    print('向客户端发送响应报文')
    cli_sock.send(response_data % name)

    print('关闭与客户端的连接')
    cli_sock.close()

虽然这代码只有几十行,但已经包含了⼀个⼩型Web 系统的核心

一个完备的Web系统如下图所示:
在这里插入图片描述

常见的Web框架

如果想完成更复杂的功能,还需要深⼊开发很多东西,比如路由机制、模版系统、ORM系统、Session会话……
好在这些基础且通⽤的东西已经被很多前辈开发完成,我们没有必要再造轮子。
他们按照自己的用途和想法,将各种系统开发、组合,最终为我们提供了各种各样的 Web 框架

Web frameworkDescription
Django全能型框架, ⼤⽽全, 插件丰富, ⽂档丰富, 社区活跃, 适合快速开发, 内部耦合⽐较紧
Flask微型框架, 适合新⼿学习, 极其灵活, 便于⼆次开发和扩展, ⽣态环境好, 插件丰富
Tornado异步处理, 事件驱动 (epoll), 性能优异
Bottle单⽂件框架, 结构紧凑,适合初学者阅读源码,了解Web 原理
web.py代码优美, 适合学习源码
Falcon性能优异适合写 API 接⼝
Quixote⼀个爷爷级别的框架,著名的⾖瓣⽹⽤的便是这个
Sanic后起之秀,性能秒杀以上所有前辈,但没有前辈们稳定。

Flask入门

认识flask

Flask 是⼀款纯 Python 开发的轻量级 Web 框架,代码全部开源。框架本身代码量很少,功能也很少,但是却具有非常强的扩展性。
Flask 定义了有⼀套⾮常优秀的接口,使得任何⼈都可以⾮常轻松的为它开发各种功能扩展。也就是这⼀点造就了 Flask 的繁荣,全世界的开发者为 Flask 贡献了⽆数的优质扩展。
使⽤ Flask 你完全可以作出任何你想要的站点,甚⾄可以作为⼿机 App 的服务端程序。

接下来的开发都是在linux操作系统完成的,本人使用的是ubuntu18.04

1.在linux中配置好了python环境后,使用如下命令安装Flask

pip install --user flask

–user 选项能让安装的 Python 包存储在用户自己的目录下,而非系统目录

2.为了以后的调试方便,推荐使用ipython(支持变量自动补全,自动缩进,支持 bash shell 命令)

pip install --user ipython
Hello World

用flask来演示一个hello world

from flask import Flask

app = Flask(__name__)


@app.route('/')
	def hello():
		return 'Hello World!'
		

if __name__ == '__main__':
	app.debug = True
	app.run()

将上⾯代码保存到⼀个 hello.py 的文件中,然后在终端运行 python ./hellp.py 即可
打开浏览器,输⼊ http://127.0.0.1:5000 可以查看效果。

运行结果;

在这里插入图片描述
如果想要停止终端中的 Flask 程序,可以按 ctrl + c

调试模式

上⾯的例子中,我们打开了设置了 app.debug 选项,他可以使 Flask 出现异常后显示出有好的调试页面。
在代码中增加⼀个 div() 函数来产生⼀个错误:

@app.route('/div') # 路由绑定
def div():
	a, b = 123, 0 
	x = a / b
	return 'x = %s' % x

然后在浏览器中输⼊ URL: http://127.0.0.1:5000/div 后可以看到如下页面:
在这里插入图片描述
在此页面我们可以看到报错的详情,也可以点击右侧的控制台按钮,进行调试:
在这里插入图片描述
备注:点击调试按钮后,会提示输⼊ PIN 码,这个 PIN 可以在 Flask 启动的的后看到。
在这里插入图片描述

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,您想了解如何使用 Flask 框架搭建一个 Web 应用程序,是吗? 首先,您需要安装 Flask 模块。您可以使用 pip 命令来安装 Flask。在命令行中输入以下命令即可: ``` pip install flask ``` 安装完成后,您可以开始编写您的 Flask 应用程序了。首先,您需要创建一个 Python 文件,例如 `app.py`,并在其中导入 Flask 模块。然后,您需要创建一个 Flask 应用程序实例。以下是一个简单的示例: ```python from flask import Flask app = Flask(__name__) @app.route("/") def home(): return "Hello, World!" if __name__ == "__main__": app.run(debug=True) ``` 在上面的示例中,我们创建了一个名为 `app` 的 Flask 应用程序实例,并定义了一个名为 `home` 的路由。路由是指在访问应用程序时要执行的操作。在这个示例中,当用户访问应用程序的根路径时,将调用 `home` 函数并返回字符串 "Hello, World!"。 最后一行代码 `app.run(debug=True)` 是用来启动 Flask 应用程序的。将 `debug` 参数设置为 `True` 可以在应用程序运行时启用调试模式,以便在出现错误时更容易调试。 现在,您可以在命令行中运行您的 Flask 应用程序了。在命令行中输入以下命令即可: ``` python app.py ``` 这将启动您的应用程序,并将其运行在本地服务器上。您可以在浏览器中访问 `http://localhost:5000/` 来查看您的应用程序。 这只是一个简单的示例,您可以根据自己的需要来创建更复杂的应用程序。希望这可以帮助您入门 Flask 框架

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值