Python Flask框架模块安装级使用介绍

目录
  • 一、概述
  • 二、Flask 架构
  • 三、应用模块
  • 四、路由模块
  • 五、视图模块
  • 六、模板模块
  • 七、数据库模块
    • 1)安装 SQLAlchemy
    • 2)配置数据库连接
    • 3)定义数据库模型
    • 4)数据库操作
  • 八、表单模块
    • 1)安装 WTForms
    • 2)创建表单类
    • 3)在视图函数中使用表单
    • 4)渲染表单模板
  • 九、扩展模块

一、概述

Python Flask是一个轻量级的Web应用程序框架,它是使用Python编写的,用于快速开发Web应用程序和API。它的设计理念是简单、易用和可扩展。

以下是Python Flask的一些主要特点:

  • 轻量级:Flask没有多余的库和工具包,使其非常轻量级,这也意味着您可以根据需要添加自己的库。
  • 易用性:Flask的API非常简单,易于理解和学习,因此它非常适合初学者。
  • 可扩展性:Flask是可扩展的,您可以添加插件来增强其功能,并且可以很容易地将其与其他库和框架集成。
  • 灵活性:Flask允许您选择所需的组件,例如模板引擎、数据库、表单验证等等。
  • 集成度高:Flask支持与其他Python库和框架的集成,如SQLAlchemy、WTForms、Jinja2等等。
  • RESTful支持:Flask易于使用RESTful API,并且可以轻松地创建RESTful Web服务。

总之,Python Flask是一个功能强大、易于使用、可扩展和灵活的Web框架,它被广泛应用于Web应用程序和API的开发。

官网:flask.net.cn/

二、Flask 架构

Flask 是一个使用 Python 编写的 Web 应用程序框架。它使用了 Werkzeug 工具箱和 Jinja2 模板引擎。

Flask 框架主要由以下模块组成:

  • 应用模块:Flask 的核心模块,是整个 Web 应用程序的入口,负责接收 HTTP 请求并返回响应。它还负责路由、错误处理、上下文等功能。
  • 路由模块:Flask 使用装饰器来定义 URL 路由和视图函数之间的映射关系。
  • 视图模块:视图函数是 Flask Web 应用程序的核心,它处理 HTTP 请求并返回响应,可以返回 HTML 页面、JSON 数据等。
  • 模板模块:Flask 使用 Jinja2 模板引擎来生成 HTML 页面。模板引擎提供了丰富的语法和过滤器,可以轻松地生成复杂的 HTML 页面。
  • 数据库模块:Flask 可以轻松地与多种数据库集成,包括 MySQL、PostgreSQL、SQLite 等。
  • 表单模块:Flask-WTF 是 Flask 的表单处理扩展,提供了方便的表单处理方法,可以轻松地创建表单、验证表单数据等。
  • 扩展模块:Flask 的扩展模块提供了各种功能,如邮件发送、缓存、登录认证等。

Flask 的设计理念是简单、灵活、易于扩展,它不会限制开发者的选择,可以根据开发者的需求选择各种第三方扩展来增加功能。同时,Flask 也提供了一些基础的功能和工具,方便开发者快速搭建 Web 应用程序。

三、应用模块

应用模块是 Flask 框架的核心模块之一,它负责创建 Flask 应用程序对象,并定义一些应用程序级别的配置和功能。应用模块通常包括以下内容:

  • 创建应用程序对象:使用 Flask 类创建应用程序对象。Flask 类的构造函数需要传入应用程序的名称作为参数。
  • 配置应用程序:可以使用 config 属性来配置应用程序的基本属性,如调试模式、密钥、数据库连接等。
  • 注册路由:使用 route 装饰器来注册 URL 路由和视图函数之间的映射关系。路由定义了 HTTP 请求的 URL 地址和视图函数之间的映射关系。
  • 定义视图函数:视图函数是处理 HTTP 请求的函数,可以返回 HTML 页面、JSON 数据等。视图函数通常使用 route 装饰器定义 URL 路由。
  • 上下文管理:Flask 应用程序使用上下文对象来管理请求上下文和应用上下文。请求上下文包含了每个 HTTP 请求的相关信息,如请求头、请求参数等。应用上下文包含了应用程序的相关信息,如配置信息、数据库连接等。
  • 错误处理:Flask 应用程序可以通过注册错误处理函数来处理 HTTP 请求中出现的错误,如 404 错误、500 错误等。
  • 扩展管理:Flask 应用程序可以通过注册扩展对象来增加应用程序的功能,如数据库连接、缓存、邮件发送等。
  • 启动应用程序:通过 run 方法启动应用程序,使其可以接收 HTTP 请求。

应用模块是 Flask 应用程序的核心模块之一,它负责管理整个应用程序的生命周期,是开发 Flask Web 应用程序的重要组成部分。

【示例】 以下是一个简单的 Flask 应用程序示例,演示了如何使用应用模块来创建 Flask 应用程序对象、注册路由和视图函数、配置应用程序等。

from flask import Flask, render_template
app = Flask(__name__)
# 配置应用程序
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'your_secret_key'
# 注册路由和视图函数
@app.route('/')
def index():
    return 'Hello, World!'
@app.route('/user/<name>')
def user(name):
    return 'Hello, %s!' % name
@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
    return render_template('hello.html', name=name)
# 启动应用程序
if __name__ == '__main__':
    app.run()

代码讲解:

  • 在上面的示例中,我们首先导入了 Flask 类和 render_template 函数。然后创建了一个 Flask 应用程序对象,使用了 __name__ 作为应用程序的名称。接着配置了应用程序的一些基本属性,包括调试模式和密钥等。
  • 然后使用 @app.route() 装饰器来注册 URL 路由和视图函数之间的映射关系。我们定义了三个视图函数,分别对应不同的 URL 地址,可以返回不同的响应内容。其中 /hello//hello/<name> 两个路由对应的是同一个视图函数,使用了 Flask 支持的多路由规则。
  • 最后使用 app.run() 方法启动了应用程序,使其可以接收 HTTP 请求。
  • 注意,在开发过程中,我们通常不会将 Flask 应用程序对象的 run() 方法直接放在程序的主体代码中,而是使用一个单独的脚本来启动应用程序,如:
if __name__ == '__main__':
    app.run()

四、路由模块

路由模块是 Flask 应用程序的核心组成部分之一,它实现了 URL 路由和视图函数之间的映射关系。在 Flask 中,我们可以通过定义路由模块来为应用程序添加不同的路由规则,使得应用程序可以响应不同的 URL 请求。

在 Flask 中,可以使用装饰器来定义路由模块。常用的装饰器包括:

  • @app.route(rule, options):定义路由规则和处理函数之间的映射关系。其中 rule 参数表示路由规则,options 参数表示路由的配置选项。

例如,下面的示例定义了一个路由规则,用于处理 /hello URL 请求,并返回一个包含字符串的响应:

from flask import Flask
app = Flask(__name__)
@app.route('/hello')
def hello():
    return 'Hello, World!'
  • @app.before_request:在每个请求被处理之前执行的函数。通常用于执行一些预处理操作,例如验证用户的登录状态、设置全局变量等。

例如,下面的示例定义了一个 before_request 函数,用于在处理请求之前打印请求的 HTTP 方法和 URL:

from flask import Flask, request
app = Flask(__name__)
@app.before_request
def log_request():
    print(f'Request: {request.method} {request.url}')
  • @app.after_request:在每个请求被处理之后执行的函数。通常用于执行一些后处理操作,例如添加响应头信息、记录日志等。

例如,下面的示例定义了一个 after_request 函数,用于在处理请求之后添加一个名为 X-My-Header 的响应头:

from flask import Flask
app = Flask(__name__)
@app.after_request
def add_header(response):
    response.headers['X-My-Header'] = 'Hello, World!'
    return response
  • @app.errorhandler:处理指定错误码的异常,例如 404 错误、500 错误等。可以定义多个不同的错误处理函数,以处理不同的异常情况。

例如,下面的示例定义了一个 404 错误处理函数,用于处理访问不存在的 URL 时的异常情况:

from flask import Flask, render_template
app = Flask(__name__)
@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404

在上面的示例中,我们定义了一个 page_not_found() 函数,并使用 @app.errorhandler(404) 装饰器将其注册为处理 404 错误的函数。在处理 404 错误时,Flask 会调用该函数,并将异常对象作为参数传入。函数返回一个包含错误信息的响应,并将 HTTP 状态码设置为 404

总之,路由模块是 Flask 应用程序的重要组成部分,它可以通过不同的装饰器实现请求预处理、响应后处理、错误处理等功能。下面是一个完整的 Flask 路由模块的示例:

from flask import Flask, request, render_template
app = Flask(__name__)
# 请求预处理函数
@app.before_request
def log_request():
    print(f'Request: {request.method} {request.url}')
# 路由规则和处理函数
@app.route('/')
def index():
    return 'Hello, World!'
@app.route('/hello')
def hello():
    return 'Hello, World!'
@app.route('/hello/&lt;name&gt;')
def hello_name(name):
    return f'Hello, {name}!'
# 响应后处理函数
@app.after_request
def add_header(response):
    response.headers['X-My-Header'] = 'Hello, World!'
    return response
# 错误处理函数
@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404
# 启动应用程序
if __name__ == '__main__':
    app.run()

在上面的示例中,我们定义了一个 Flask 应用程序,并使用 @app.route 装饰器定义了三个路由规则和处理函数:

  • / URL 请求将会调用 index() 函数,并返回一个字符串 'Hello, World!'。
  • /hello URL 请求将会调用 hello() 函数,并返回一个字符串 'Hello, World!'。
  • /hello/<name> URL 请求将会调用 hello_name(name) 函数,并返回一个包含 name 参数的字符串 'Hello, {name}!'。

我们还使用了 @app.before_request 装饰器定义了一个请求预处理函数 log_request(),用于在每个请求被处理之前打印请求的 HTTP 方法和 URL

同时,我们还使用了 @app.after_request 装饰器定义了一个响应后处理函数 add_header(response),用于在每个请求被处理之后添加一个名为 X-My-Header 的响应头。

最后,我们使用 @app.errorhandler 装饰器定义了一个 404 错误处理函数 page_not_found(e),用于处理访问不存在的 URL 时的异常情况。

整个路由模块的代码非常简单明了,通过 Flask 提供的装饰器可以轻松地定义路由规则和处理函数,实现不同 URL 请求的响应。

五、视图模块

在 Flask 中,视图模块用于处理请求并生成响应,通常由视图函数来实现。视图函数负责处理一个或多个 URL 请求,并返回一个响应对象。响应对象可以是纯文本、HTML、JSON、图像等。

下面是一个简单的 Flask 视图模块的示例:

from flask import Flask, request, jsonify
app = Flask(__name__)
# 视图函数
@app.route('/hello')
def hello():
    name = request.args.get('name', 'World')
    return f'Hello, {name}!'
@app.route('/json')
def json():
    data = {'message': 'Hello, World!'}
    return jsonify(data)
# 启动应用程序
if __name__ == '__main__':
    app.run()

在上面的示例中,我们定义了两个视图函数:

  • hello() 函数处理 /hello URL 请求,使用 request.args.get() 方法获取请求参数中的 name 参数(默认为 'World'),并将其插入到响应字符串中返回给客户端。
  • json() 函数处理 /json URL 请求,生成一个包含 message 属性的字典对象,然后使用 Flask 提供的 jsonify() 函数将其转换为 JSON 格式的响应对象返回给客户端。

启动 Flask 应用程序后,可以在浏览器中访问 /hello/json URL 来测试视图函数的效果。

视图函数是 Flask 应用程序的核心组成部分,可以通过不同的方式生成响应,如使用模板引擎渲染 HTML 页面、返回纯文本或 JSON 数据等。视图函数还可以接受请求参数,通过 request 对象获取请求数据,并根据请求参数生成相应的响应。

六、模板模块

在 Flask 中,模板模块用于生成动态的 HTML 页面或其他类型的文档。Flask 支持多种模板引擎,如 Jinja2、Mako、Mustache 等,其中 Jinja2 是最常用的模板引擎之一。

下面是一个简单的 Flask 模板模块的示例,使用 Jinja2 模板引擎渲染一个 HTML 页面:

from flask import Flask, render_template
app = Flask(__name__)
# 路由规则和视图函数
@app.route('/')
def index():
    return render_template('index.html', name='World')
# 启动应用程序
if __name__ == '__main__':
    app.run()

在上面的示例中,我们定义了一个路由规则 /,并使用 render_template() 函数将模板文件 index.html 渲染为 HTML 页面,其中传递了一个名为 name 的变量值为 'World'

下面是 index.html 模板文件的示例:

<!DOCTYPE html>
<html>
  <head>
    <title>Hello, {{ name }}!</title>
  </head>
  <body>
    <h1>Hello, {{ name }}!</h1>
  </body>
</html>

代码讲解:

  • 在上面的示例中,使用了 Jinja2 模板引擎的语法 {{ name }},它将在渲染模板时被替换为 render_template() 函数中传递的 name 变量的值。
  • 启动 Flask 应用程序后,访问根 URL / 将会返回一个包含 Hello, World! 的 HTML 页面。
  • 模板模块是 Flask 应用程序的重要组成部分,它可以实现动态生成各种类型的文档,如 HTML 页面、JSON 数据、CSV 文件等。在 Flask 中,使用模板引擎可以方便地将数据和 HTML 页面进行分离,实现更加清晰和易于维护的代码结构。

七、数据库模块

在 Flask 应用程序中,通常需要使用数据库来存储和管理数据。Flask 提供了多种数据库模块的支持,如 SQLAlchemyPeeweeMongoDB 等。

下面以 SQLAlchemy 为例,介绍如何在 Flask 应用程序中使用数据库模块。

1)安装 SQLAlchemy

使用 pip 安装 SQLAlchemy:

pip install SQLAlchemy

2)配置数据库连接

在 Flask 应用程序中,需要配置数据库连接,包括数据库类型、主机名、端口号、数据库名、用户名和密码等。可以使用 Flask 应用程序的配置对象 app.config 来存储这些配置信息,如下所示:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://user:password@localhost/mydatabase'
db = SQLAlchemy(app)

在上面的示例中,我们使用 SQLAlchemy 模块创建了一个数据库连接 db,并将其关联到 Flask 应用程序对象 app 上。

3)定义数据库模型

使用 SQLAlchemy 模块可以方便地定义数据库模型,例如下面的示例定义了一个简单的用户模型:

from datetime import datetime
from sqlalchemy import Column, Integer, String, DateTime
class User(db.Model):
    id = Column(Integer, primary_key=True)
    name = Column(String(50), nullable=False)
    email = Column(String(120), unique=True, nullable=False)
    created_at = Column(DateTime, default=datetime.now)

在上面的示例中,我们使用 SQLAlchemy 提供的 Column 类定义了三个列:idnameemailcreated_at。其中,id 是主键列,nameemail 是字符串列,created_at 是日期时间列。

4)数据库操作

使用 SQLAlchemy 模块可以方便地执行数据库操作,例如下面的示例:

# 创建数据库表
db.create_all()
# 插入数据
user = User(name='Alice', email='alice@example.com')
db.session.add(user)
db.session.commit()
# 查询数据
users = User.query.all()
# 更新数据
user.name = 'Bob'
db.session.commit()
# 删除数据
db.session.delete(user)
db.session.commit()

在上面的示例中,我们使用 db.create_all() 创建数据库表,使用 db.session.add() 插入数据,使用 User.query.all() 查询数据,使用 db.session.commit() 提交事务。还可以使用 db.session.query() 查询数据,使用 db.session.filter() 过滤数据,使用 db.session.order_by() 排序数据等。

数据库模块是 Flask 应用程序的核心组成部分之一,它可以方便地实现数据的存储和管理,为 Web 应用程序提供强大的数据支持。在使用数据库模块时,需要注意数据的安全性和可靠性,如防止 SQL 注入攻击、处理事务、使用数据库索引等。

八、表单模块

表单模块是 Flask 应用程序中常用的组件之一,它可以方便地实现用户输入的数据验证和处理。在 Flask 中,表单模块通常使用 WTForms 库实现。

下面介绍如何在 Flask 应用程序中使用表单模块。

1)安装 WTForms

使用 pip 安装 WTForms:

pip install WTForms

2)创建表单类

在 Flask 应用程序中,需要定义一个表单类来描述需要接收的数据和对数据进行验证的规则。例如下面的示例定义了一个简单的用户注册表单:

from wtforms import Form, StringField, PasswordField, validators
class RegistrationForm(Form):
    name = StringField('Name', [validators.Length(min=4, max=25)])
    email = StringField('Email', [validators.Email()])
    password = PasswordField('Password', [
        validators.DataRequired(),
        validators.EqualTo('confirm_password', message='Passwords must match')
    ])
    confirm_password = PasswordField('Confirm Password')

在上面的示例中,我们使用 WTForms 提供的 Form 类定义了一个表单类 RegistrationForm,并定义了三个字段:nameemailpassword。对于每个字段,我们使用不同的验证器进行验证,例如 validators.Lengthvalidators.Emailvalidators.EqualTo 等。

3)在视图函数中使用表单

在 Flask 应用程序中,需要使用表单类来接收用户提交的数据,然后对数据进行验证和处理。例如下面的示例定义了一个处理用户注册的视图函数:

from flask import render_template, request
from .forms import RegistrationForm
@app.route('/register', methods=['GET', 'POST'])
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        # 处理用户注册数据
        return 'Registration successful!'
    return render_template('register.html', form=form)

在上面的示例中,我们使用表单类 RegistrationForm 来接收用户提交的数据,然后在视图函数中使用 request.form 方法获取表单数据,并使用 form.validate() 方法验证表单数据是否合法。如果表单数据验证通过,则进行用户注册操作,并返回注册成功的消息。

4)渲染表单模板

在 Flask 应用程序中,需要使用模板引擎来渲染表单模板,并将表单类传递给模板。例如下面的示例定义了一个注册表单模板:

<form method="POST">
    {{ form.name.label }} {{ form.name }}
    {{ form.email.label }} {{ form.email }}
    {{ form.password.label }} {{ form.password }}
    {{ form.confirm_password.label }} {{ form.confirm_password }}
    <button type="submit">Register</button>
</form>

在上面的示例中,我们使用表单类 RegistrationForm 中的字段 nameemailpasswordconfirm_password 渲染表单模板,并使用 form.name.labelform.name 等属性来获取标签和输入框的 HTML 代码。

表单模块是 Flask 应用程序中常用的组件之一。

九、扩展模块

在 Flask 应用程序中,扩展模块可以帮助我们更方便地实现某些功能或解决某些问题。下面介绍一些常用的 Flask 扩展模块。

Flask-WTF:Flask-WTF 是一个 WTForms 的 Flask 扩展,它为 Flask 应用程序提供了更方便的表单处理和 CSRF 保护等功能。使用 Flask-WTF 可以大大简化表单处理的代码,同时提高应用程序的安全性。

Flask-Login:Flask-Login 是一个用于用户身份验证和管理的 Flask 扩展,它提供了用户登录和登出等功能,还可以方便地管理用户状态和权限等信息。使用 Flask-Login 可以大大简化用户身份验证和管理的代码,同时提高应用程序的安全性。

Flask-SQLAlchemy:Flask-SQLAlchemy 是一个 SQLAlchemy 的 Flask 扩展,它提供了对关系型数据库的支持,例如 MySQL、PostgreSQL 和 SQLite 等。使用 Flask-SQLAlchemy 可以方便地进行数据库操作,例如创建表、插入数据和查询数据等。

Flask-Cache:Flask-Cache 是一个缓存的 Flask 扩展,它提供了缓存功能,可以将应用程序中的一些计算结果缓存起来,以减少计算量和响应时间。使用 Flask-Cache 可以提高应用程序的性能和响应速度。

Flask-Mail:Flask-Mail 是一个邮件发送的 Flask 扩展,它提供了发送邮件的功能,可以方便地发送邮件给用户或管理员等。使用 Flask-Mail 可以大大简化发送邮件的代码,同时提高应用程序的交互性和用户体验。

以上是一些常用的 Flask 扩展模块,它们可以帮助我们更方便地实现某些功能或解决某些问题。当然,还有很多其他的 Flask 扩展模块,可以根据实际需要选择使用,更多关于Python Flask框架模块的资料请关注我们其它相关文章!

(0)

相关推荐

  • 详解Python Flask API 示例演示(附cookies和session)

    目录 一.概述 二.常用函数讲解 1)Flask() 函数 2)route() 函数 3)jsonify() 函数 4)render_template() 函数 5)redirect() 函数 6)url_for() 函数 7)before_request() 函数 8)after_request() 函数 9)abort() 函数 10)send_file() 函数 三.常用对象讲解 1)request 对象 2)session 对象 四.Flask 中的 cookies 与 session

  • Python一文入门Flask Blueprint SQLAlchemy部分详解

    目录 概述 安装准备 pipenv 开始实践 入口文件 路由 优化路由器 SQLAlchemy database类的定义 入口文件加载DB 模块中定义方法 在路由中的使用 SQLAlchemy实现mysql编码.列类型 默认值和索引设置 兼容Mysql列类型 自定义数据库名和字符集编码 概述 从安装Flask,pipenv 到路由实现,Blueprint.SQLAlchemy,一次简单实践,github地址,github.com/stark0824/s… 安装准备 python3 -V &&

  • python的简单web框架flask快速实现详解

    目录 简介 web框架的重要组成部分 快速上手flask flask的第一个应用 flask中的路由 不同的http方法 静态文件 使用模板 总结 简介 python可以做很多事情,虽然它的强项在于进行向量运算和机器学习.深度学习等方面.但是在某些时候,我们仍然需要使用python对外提供web服务. 比如我们现在有一个用python写好的模型算法,这个模型算法需要接收前端的输入,然后进行模拟运算,最终得到最后的输出.这个流程是一个典型的web服务,与其我们使用java或者nodejs来搭建一个

  • 详解Python Flask框架的安装及应用

    目录 1.安装 1.1 创建虚拟环境 1.2 进入虚拟环境 1.3 安装 flask 2.上手 2.1 最小 Demo 2.2 基本知识 3.解构官网指导 Demo 3.1 克隆与代码架构分析 3.2 入口文件 init.py 3.3 数据库设置 3.4 蓝图和视图 4.其他 5.跑起 DEMO 1.安装 1.1 创建虚拟环境 mkdir myproject cd myproject python3 -m venv venv 1.2 进入虚拟环境 . venv/bin/activate 1.3

  • Python flask框架定时任务apscheduler应用介绍

    目录 基本使用 trigger启动方式 cron启动方式 使用装饰器定时启动任务 flask-apscheduler将apscheduler移植到了flask应用中,使得在flask中可以非常方便的使用定时任务了,除此之外,它还有如下几个特性 根据Flask配置加载调度器配置 根据Flask配置加载任务调度器 允许指定服务器运行任务 提供RESTful API管理任务,也就是远程管理任务 为RESTful API提供认证 下载安装 pip install flask-apscheduler 基本

  • 浅谈Python flask框架

    目录 1. flask 框架概述 1.1flask 框架优势 1.2flask 框架获取 1.3flask 框架使用 2. flask demo步骤 3. flask 基础功能 3.1路由功能 3.2模版提供 4.总结  前言: Python 面向对象的高级编程语言,以其语法简单.免费开源.免编译扩展性高,同时也可以嵌入到C/C++程序和丰富的第三方库,Python运用到大数据分析.人工智能.web后端等应用场景上. Python 目前主要流行的web框架:flask.Django.Tornad

  • Python Flask框架使用介绍

    目录 1. 数据库连接池 2. wtfroms 3. 信号 3.1 内置信号 3.2 使用信号 3.3 自定义信号 4. 多app应用 5. flask-script 5.1 快速使用 5.2 自定制命令 1. 数据库连接池 使用 pymsql 链接数据库 导入:pip3 install dbutils pool.py 创建数据库连接池 from dbutils.pooled_db import PooledDB import pymysql POOL = PooledDB( creator=p

  • python flask框架详解

    Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务.本文参考自Flask官方文档, 英文不好的同学也可以参考中文文档 1.安装flask pip install flask 2.简单上手 一个最小的 Flask 应用如下: from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World' if __na

  • Python Flask框架开发之运用SocketIO实现WebSSH方法详解

    Flask 框架中如果想要实现WebSocket功能有许多种方式,运用SocketIO库来实现无疑是最简单的一种方式,Flask中封装了一个flask_socketio库该库可以直接通过pip仓库安装,如下内容将重点简述SocketIO库在Flask框架中是如何被应用的,最终实现WebSSH命令行终端功能,其可用于在Web浏览器内实现SSH命令行执行. 首先我们先来看一下SocketIO库是如何进行通信的,对于前端部分需要引入socket.io这个框架,然后就是利用该框架内提供的各类函数实现创建

  • 使用python flask框架开发图片上传接口的案例详解

    python版本:3.6+ 需要模块:flask,pillow 需求:开发一个支持多格式图片上传的接口,并且将图片压缩,支持在线预览图片. 目录结构: app.py编辑内容: from flask import Flask, request, Response, render_template from werkzeug.utils import secure_filename import os import uuid from PIL import Image, ExifTags app =

  • Python定时任务框架APScheduler安装使用详解

    目录 前言 一.APscheduler简介 二.APscheduler安装 三.APscheduler组成部分 1.Job 作业 2.Trigger 触发器 3.Jobstore 作业存储 4.Executor 执行器 5.scheduler 调度器 四.Scheduler工作流程图 1.Scheduler添加job流程 2.Scheduler调度流程 五.APscheduler使用 1.简单应用 2.操作作业 2.1 date触发器 2.2 interval触发器 2.3 cron触发器 参考

  • Python flask与fastapi性能测试方法介绍

    目录 背景 apache ab介绍 测试计划 测试代码 测试结果 结论 背景 sy项目通过MQ接受业务系统的业务数据,通过运行开发者开发的python脚本执行业务系统与财务系统数据的一致性校验. sy系统需要每天运行大量的python脚本.目前使用falsk日运行6W+次python脚本,由于性能存在瓶颈,需要引入 新的fastapi框架,来解决cpu.内存性能压榨不够及目前的性能瓶颈.本文目标给出两者的性能测试报告. 给出选择哪个框架的性能数据支撑. apache ab介绍 apache ab

  • Python Flask框架实现Proteus仿真Arduino与网页数据交互

    目录 实验原理 开发环境 Flask虚拟环境 Python Flask源码 用Proteus仿真Arduino 用com0com建立虚拟串口对 运行程序 实验原理 模拟电脑通过串口与Arduino开发板通信,并通过网页实现简单交互 开发环境 1.Windows10 2.Python3.10 3.Proteus8.6 4.com0com虚拟串口工具 Flask虚拟环境 先安装virtualenv: pip install virtualenv 建立项目文件夹(比如demo_4) 在demo_04文

随机推荐