Python Flask教程

一、前言

Flask是一个用Python编写的轻量级的Web应用框架。

Flask基于WSGI(Web Server Gateway Interface)和 Jinja2 模板引擎,旨在帮助开发者快速、简便地创建 Web 应用。

Flask 被称为"微框架",因为它使用简单的核心,用扩展增加其他功能。

1. Hello World

以下的 Flask 程序会在网页输出 Hello World :

from flask import Flask
app = Flask(__name__)@app.route("/")
def hello():return "Hello World!"if __name__ == "__main__":app.run()

2. Flask特点

  • 轻量级和简介:Flask是一个微框架,提供了最基本的功能,不强制使用任何特定的工具或库。核心是简单而灵活的。
  • 灵活性:提供了基本的框架结构,但是没有强制性的项目布局或者组件,开发者可以根据自己的需求定义。
  • 可扩展性:Flask 的设计允许你通过插件和扩展来添加功能。许多常见的功能,如表单处理、数据库交互和用户认证,都可以通过社区提供的扩展来实现。
  • 内置开发服务器:Flask 内置了一个开发服务器,方便在本地进行调试和测试。
  • RESTful 支持:Flask 支持 RESTful API 的开发,适合构建现代的 Web 服务和应用程序。

 二、Flask实践

1. Flask安装

首先确保安装Python:

python --version

或者,如果你使用 python3 命令:

python3 --version

使用 pip 安装 Flask:

pip install Flask

 安装完成后,可以通过以下命令验证 Flask 是否安装成功:

pip show Flask

执行以上命令,显示结果类似如下:

Name: Flask
Version: 3.0.3
Summary: A simple framework for building complex web applications.
Home-page: 
Author: 
Author-email: 
License: 
Location: /Users/RUNOOB/.pyenv/versions/3.9.7/lib/python3.9/site-packages
Requires: itsdangerous, Jinja2, blinker, Werkzeug, click, importlib-metadata
Required-by: 

Flask安装成功。 

2. Flask第一个应用

上一章节已经成功安装了Flask,接下来可以创建一个简单的Flask应用。

首先,创建一个名为 app.py 的文件,并添加以下内容:

from flask import Flaskapp = Flask(__name__)@app.route('/')
def hello_world():return 'Hello, World!'if __name__ == '__main__':app.run(debug=True)

 在命令行中运行 Flask 应用:

python app.py

你会看到 Flask 开发服务器启动,并显示类似于以下内容:

...* Running on http://127.0.0.1:5000
Press CTRL+C to quit* Restarting with stat* Debugger is active!* Debugger PIN: 977-918-914
...

打开浏览器,访问 http://127.0.0.1:5000/,应该会看到 "Hello, World!" 的消息,表示 Flask 已成功安装并运行。

 代码解析:

  • from flask import Flask: 这行代码从 flask 模块中导入了 Flask 类。Flask 类是 Flask 框架的核心,用于创建 Flask 应用程序实例。

  • app = Flask(__name__): 这行代码创建了一个 Flask 应用实例。__name__ 是一个特殊的 Python 变量,它在模块被直接运行时是 '__main__',在被其他模块导入时是模块的名字。传递 __name__ 给 Flask 构造函数允许 Flask 应用找到和加载配置文件。

  • @app.route('/'): 这是一个装饰器,用于告诉 Flask 哪个 URL 应该触发下面的函数。在这个例子中,它指定了根 URL(即网站的主页)。

  • def hello_world():: 这是定义了一个名为 hello_world 的函数,它将被调用当用户访问根URL时。

  • return 'Hello, World!': 这行代码是 hello_world 函数的返回值。当用户访问根 URL 时,这个字符串将被发送回用户的浏览器。

  • if __name__ == '__main__'::这行代码是一个条件判断,用于检查这个模块是否被直接运行,而不是被其他模块导入。如果是直接运行,下面的代码块将被执行。

  • app.run(debug=True):这行代码调用 Flask 应用实例的 run 方法,启动 Flask 内置的开发服务器。debug=True 参数会启动调试模式,这意味着应用会在代码改变时自动重新加载,并且在发生错误时提供一个调试器。

3. Flask基本概念

  • 路由:路由是 URL 到 Python 函数的映射。Flask 允许你定义路由,这样当特定的 URL 被访问时,就会调用相应的函数。

  • 视图函数:视图函数是处理请求并返回响应的 Python 函数。它们通常接收请求对象作为参数,并返回响应对象。

  • 请求对象:请求对象包含了客户端发送的请求信息,如请求方法、URL、请求头、表单数据等。

  • 响应对象:响应对象包含了发送给客户端的响应信息,如状态码、响应头、响应体等。

  • 模板:Flask 使用 Jinja2 模板引擎来渲染 HTML 模板。模板允许你将 Python 代码嵌入到 HTML 中,从而动态生成网页。

  • 应用工厂:应用工厂是一个 Python 函数,它创建并返回一个 Flask 应用实例。这允许你配置和初始化你的应用,并且可以创建多个应用实例。

  • 配置对象:Flask 应用有一个配置对象,你可以使用它来设置各种配置选项,如数据库连接字符串、调试模式等。

  • 蓝图:蓝图可以将Flask代码中,将整个应用拆分为多个模块来实现模块化开发,将不同的功能划分为独立的模块,每个模块负责指定的功能。

  • 静态文件:静态文件是不会被服务器端执行的文件,如 CSS、JavaScript 和图片文件。Flask 提供了一个简单的方法来服务这些文件。

  • 扩展:Flask 有许多扩展,可以添加额外的功能,如数据库集成、表单验证、用户认证等。

  • 会话:Flask 使用客户端会话来存储用户信息,这允许你在用户浏览你的应用时记住他们的状态。

  • 错误处理:Flask 允许你定义错误处理函数,当特定的错误发生时,这些函数会被调用。

1)路由 (Routing)

路由是 URL 到 Python 函数的映射。Flask 允许你定义路由,使得当用户访问特定 URL 时,Flask 会调用对应的视图函数来处理请求。

还可以使用动态路由:在路由中使用变量创建动态路由。例如,@app.route('/user/<username>')表示将URL路径/user/xxx与下方定义的视图函数关联起来,并将xxx作为参数传递给视图函数。

from flask import Flaskapp = Flask(__name__)@app.route('/')
def home():return 'Welcome to the Home Page!'@app.route('/about')
def about():return 'This is the About Page.'

 2)视图函数 (View Functions)

视图函数是处理请求并返回响应的 Python 函数。它们通常接收请求对象作为参数,并返回响应对象,或者直接返回字符串、HTML 等内容。

from flask import request@app.route('/greet/<name>')
def greet(name):return f'Hello, {name}!'

greet 函数接收 URL 中的 name 参数,并返回一个字符串响应。

3)请求对象 (View Functions)

请求对象包含了客户端发送的请求信息,包括请求方法、URL、请求头、表单数据等。Flask 提供了 request 对象来访问这些信息。

from flask import request@app.route('/submit', methods=['POST'])
def submit():username = request.form.get('username')return f'Hello, {username}!'

request.form.get('username'):获取 POST 请求中表单数据的 username 字段。

4)响应对象 (Response Object)

响应对象包含了发送给客户端的响应信息,包括状态码、响应头和响应体。Flask 默认会将字符串、HTML 直接作为响应体。

from flask import make_response@app.route('/custom_response')
def custom_response():response = make_response('This is a custom response!')response.headers['X-Custom-Header'] = 'Value'return response

make_response:创建一个自定义响应对象,并设置响应头 X-Custom-Header。

5)模板 (Templates)

Flask 使用 Jinja2 模板引擎来渲染 HTML 模板。模板允许你将 Python 代码嵌入到 HTML 中,从而动态生成网页内容。

from flask import render_template@app.route('/hello/<name>')
def hello(name):return render_template('hello.html', name=name)

模板文件 (templates/hello.html):

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

6)应用工厂

应用工厂是一个 Python 函数,用于创建和配置 Flask 应用实例。这种方法允许你创建多个应用实例,或者在不同配置下初始化应用。

from flask import Flaskdef create_app(config_name):app = Flask(__name__)app.config.from_object(config_name)from . import routesapp.register_blueprint(routes.bp)return app

create_app 函数创建一个 Flask 应用实例,并从配置对象中加载配置。

7)配置对象 (Configuration Objects)

配置对象用于设置应用的各种配置选项,如数据库连接字符串、调试模式等。可以通过直接设置或加载配置文件来配置 Flask 应用。

class Config:DEBUG = TrueSECRET_KEY = 'mysecretkey'SQLALCHEMY_DATABASE_URI = 'sqlite:///mydatabase.db'

app.config.from_object(Config):将 Config 类中的配置项加载到应用配置中。

8)蓝图 (Blueprints)

蓝图是 Flask 中的组织代码的方式。它允许你将相关的视图函数、模板和静态文件组织在一起,并且可以在多个应用中重用。

from flask import Blueprintbp = Blueprint('main', __name__)@bp.route('/')
def home():return 'Home Page'

注册蓝图 (app/__init__.py):

from flask import Flask
from .routes import bp as main_bpdef create_app():app = Flask(__name__)app.register_blueprint(main_bp)return app

9)静态文件 (Static Files)

静态文件是不会被服务器端执行的文件,如 CSS、JavaScript 和图片文件。Flask 提供了一个简单的方法来服务这些文件。

访问静态文件示例:

<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='style.css') }}">

静态文件目录:将静态文件放在 static 文件夹中,Flask 会自动提供服务。

10)扩展 (Extensions)

Flask 有许多扩展,可以添加额外的功能,如数据库集成、表单验证、用户认证等。这些扩展提供了更高级的功能和第三方集成。

from flask_sqlalchemy import SQLAlchemyapp.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///mydatabase.db'
db = SQLAlchemy(app)

SQLAlchemy:用于数据库集成的扩展。

11)会话 (Sessions)

Flask 使用客户端会话来存储用户信息,以便在用户浏览应用时记住他们的状态。会话数据存储在客户端的 cookie 中,并在服务器端进行签名和加密。

from flask import session# 自动生成的密钥
app.secret_key = 'your_secret_key_here'@app.route('/set_session/<username>')
def set_session(username):session['username'] = usernamereturn f'Session set for {username}'@app.route('/get_session')
def get_session():username = session.get('username')return f'Hello, {username}!' if username else 'No session data'

session 对象用于存取会话数据。

你可以使用 Python 内置的 secrets 模块生成一个强随机性的密钥。

python3 -c 'import secrets; print(secrets.token_hex())'

12)错误处理 (Error Handling)

Flask 允许你定义错误处理函数,当特定的错误发生时,这些函数会被调用。可以自定义错误页面或处理逻辑。

@app.errorhandler(404)
def page_not_found(e):return 'Page not found', 404@app.errorhandler(500)
def internal_server_error(e):return 'Internal server error', 500

@app.errorhandler(404):定义 404 错误的处理函数,返回自定义错误页面。

4. Flask项目结构

一个Flask项目可以简单到只有一个文件。

比如以下 hello.py 文件就是一个 Flask 应用:

from flask import Flaskapp = Flask(__name__)@app.route('/')
def hello():return 'Hello, World!'

然而,当项目变大时,把所有代码都放到一个文件里不太现实。

Flask 项目结构可以根据应用的规模和复杂性有所不同。

以下是几种常见的 Flask 项目结构,分别适用于简单应用和较复杂的应用。

  1. 简单项目结构:适用于小型应用,所有代码集中在一个文件中。
  2. 中型项目结构:将应用分为多个模块,便于管理和扩展。
  3. 复杂项目结构:支持更高的模块化,适用于大型应用,包含路由、模型、模板和静态文件目录。

1)简单项目结构

对于一个简单的 Flask 应用,项目结构可以非常简洁:

my_flask_app/
│
├── app.py
└── requirements.txt
  • app.py:主要的 Flask 应用文件,包含路由和视图函数的定义。
  • requirements.txt:列出项目的依赖库,用于记录 Flask 和其他包的版本信息。

my_flask_app 目录下的 app.py 文件代码:

from flask import Flaskapp = Flask(__name__)@app.route('/')
def home():return 'Hello, World!'if __name__ == '__main__':app.run(debug=True)

requirements.txt 示例:

Flask==2.2.3

2)中型项目结构

对于稍复杂的应用,通常会将项目分为多个模块和目录:

my_flask_app/
│
├── app/
│   ├── __init__.py
│   ├── routes.py
│   └── models.py
│
├── config.py
├── requirements.txt
└── run.py
  • app/:包含 Flask 应用的主要代码。
    • __init__.py:初始化 Flask 应用和配置扩展。
    • routes.py:定义应用的路由和视图函数。
    • models.py:定义应用的数据模型。
  • config.py:配置文件,包含应用的配置信息。
  • requirements.txt:列出项目的依赖库。
  • run.py:用于启动 Flask 应用。

app/__init__.py 示例:

from flask import Flaskdef create_app():app = Flask(__name__)app.config.from_object('config.Config')from . import routesapp.register_blueprint(routes.bp)return app

app/routes.py 示例:

from flask import Blueprintbp = Blueprint('main', __name__)@bp.route('/')
def home():return 'Hello, World!'

run.py 示例:

from app import create_appapp = create_app()if __name__ == '__main__':app.run(debug=True)

3)复杂项目结构

对于较大的应用,可能需要更复杂的项目结构,以支持更高的模块化和扩展性:

my_flask_project/
│
├── app/                     # Flask 应用的核心代码
│   ├── __init__.py          # 应用初始化
│   ├── main/                # 主模块(包含视图和路由)
│   │   ├── __init__.py
│   │   ├── routes.py        # 视图函数和路由
│   │   └── errors.py        # 错误处理
│   ├── models.py            # 数据模型(数据库相关)
│   ├── templates/           # Jinja2 模板文件
│   │   ├── base.html        # 基础模板
│   │   ├── index.html       # 主页模板
│   │   └── user.html        # 用户页面模板
│   ├── static/              # 静态文件(CSS、JS、图片等)
│   │   ├── css/
│   │   ├── js/
│   │   └── images/
│   └── config.py            # 配置文件
│
├── migrations/              # 数据库迁移文件(使用 Flask-Migrate)
│
├── tests/                   # 测试代码
│   ├── __init__.py
│   └── test_app.py          # 测试用例
│
├── venv/                    # 虚拟环境
│
├── run.py                   # 启动脚本
└── requirements.txt         # 依赖文件
  • app/routes/:将不同功能模块的路由分开管理。
    • main.py:主模块的路由。
    • auth.py:认证相关的路由。
  • app/models/:管理数据模型,通常与数据库操作相关。
    • user.py:用户模型。
  • app/templates/:存放 HTML 模板文件。
  • app/static/:存放静态文件,如 CSS 和 JavaScript。
  • migrations/:数据库迁移文件,通常与 SQLAlchemy 相关。

1. run.py

这是启动 Flask 应用的脚本。

Python复制

from app import create_appapp = create_app()if __name__ == '__main__':app.run(debug=True)

2. app/__init__.py

这是 Flask 应用的初始化文件,使用工厂函数创建应用实例。

Python复制

from flask import Flask
from app.config import Config
from app.models import dbdef create_app(config_class=Config):app = Flask(__name__)app.config.from_object(config_class)# 初始化数据库db.init_app(app)# 注册蓝图from app.main import main as main_blueprintapp.register_blueprint(main_blueprint)return app

3. app/config.py

这是配置文件,用于存储应用的配置信息。

Python复制

class Config:SECRET_KEY = 'your_secret_key'SQLALCHEMY_DATABASE_URI = 'sqlite:///site.db'SQLALCHEMY_TRACK_MODIFICATIONS = False

4. app/main/__init__.py

这是主模块的初始化文件。

Python复制

from flask import Blueprintmain = Blueprint('main', __name__)from . import routes, errors

5. app/main/routes.py

这是主模块的视图函数和路由。

Python复制

from flask import render_template, url_for
from . import main@main.route('/')
def index():return render_template('index.html')@main.route('/user/<username>')
def user(username):return render_template('user.html', username=username)

6. app/main/errors.py

这是错误处理的代码。

Python复制

from flask import render_template
from . import main@main.app_errorhandler(404)
def page_not_found(e):return render_template('404.html'), 404

7. app/models.py

这是数据模型文件,定义了数据库表结构。

Python复制

from flask_sqlalchemy import SQLAlchemydb = SQLAlchemy()class User(db.Model):id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(50), unique=True, nullable=False)

8. app/templates/base.html

这是基础模板,其他模板可以继承它。

HTML复制

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>{% block title %}My Flask App{% endblock %}</title>
</head>
<body><header><h1>Welcome to My Flask App</h1><nav><a href="{{ url_for('main.index') }}">Home</a><a href="{{ url_for('main.user', username='kimi') }}">User</a></nav></header><main>{% block content %}{% endblock %}</main>
</body>
</html>

9. app/templates/index.html

这是主页模板。

HTML复制

{% extends 'base.html' %}{% block title %}Home Page{% endblock %}{% block content %}<h2>Welcome to the Home Page</h2>
{% endblock %}

10. app/templates/user.html

这是用户页面模板。

HTML复制

{% extends 'base.html' %}{% block title %}User Page{% endblock %}{% block content %}<h2>Hello, {{ username }}!</h2>
{% endblock %}

11. app/static/

这个文件夹用于存放静态文件,如 CSS、JavaScript 和图片等。例如:

  • app/static/css/style.css

  • app/static/js/script.js

  • app/static/images/logo.png

12. migrations/

这个文件夹用于存放数据库迁移文件,通过 Flask-Migrate 生成。

13. tests/

这个文件夹用于存放测试代码。例如:

Python复制

# tests/test_app.py
import unittest
from app import create_appclass FlaskTestCase(unittest.TestCase):def setUp(self):self.app = create_app()self.client = self.app.test_client()def test_home_page(self):response = self.client.get('/')self.assertEqual(response.status_code, 200)self.assertIn(b'Welcome to the Home Page', response.data)if __name__ == '__main__':unittest.main()

14. requirements.txt

这是依赖文件,列出项目所需的所有 Python 包。

复制

Flask==2.0.1
Flask-SQLAlchemy==2.5.1
Flask-Migrate==3.1.0

项目启动

  1. 安装依赖

    bash复制

    pip install -r requirements.txt
  2. 运行应用

    bash复制

    python run.py

持续更新ing...

推荐链接:

  • Python Flask教程_python中flask教程-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7911.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.10 文本数据炼金术:从CSV到结构化数组

1.10 《文本数据炼金术&#xff1a;从CSV到结构化数组》 目录 #mermaid-svg-TNkACjzvaSXnULaB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-TNkACjzvaSXnULaB .error-icon{fill:#552222;}#mermaid-svg-TNkACjzva…

Linux进程概念:【环境变量】【程序地址空间】

目录 一.环境变量 1.1基本概念 1.2命令行参数 1.3一个例子&#xff0c;一个环境变量 1.4环境变量的组织方式 1.5查看环境变量的方法 ​编辑 1.6从存储的角度理解环境变量 1.7环境变量最开始是从系统的配置文件里来的 1.8认识更多的环境变量 HOME HISTSIZE HOSTNANE…

医疗集群系统中基于超融合数据库架构的应用与前景探析

一、引言 1.1 研究背景与意义 随着医疗信息化的飞速发展,医疗数据呈爆炸式增长。从日常诊疗记录、患者病历,到各类医疗影像、检查检验数据等,海量信息不断涌现。据统计,医疗数据的年增长率高达 30% 以上 ,2025 年,全球医疗数据量将达到 2314 艾字节(EB)。如此庞大的数…

【leetcode100】从前序与中序遍历序列构造二叉树

1、题目描述 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,nul…

【CSS入门学习】Flex布局设置div水平、垂直分布与居中

水平平均分布 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>…

【ARM】解决MDK在打开工程的时候提示CMSIS的版本不对问题

1、 文档目标 解决MDK在打开使用Compiler 6的工程的时候&#xff0c;提示CMSIS 的API版本过低的报错。 2、 问题场景 客户在Pack包中打开一个示例工程&#xff0c;打算熟悉一下对应芯片的功能和软件的功能&#xff0c;但是&#xff0c;打开软件后&#xff0c;在构建信息输出框…

PyCharm接入DeepSeek实现AI编程

目录 效果演示 创建API key 在PyCharm中下载CodeGPT插件 配置Continue DeepSeek 是一家专注于人工智能技术研发的公司&#xff0c;致力于开发高性能、低成本的 AI 模型。DeepSeek-V3 是 DeepSeek 公司推出的最新一代 AI 模型。其前身是 DeepSeek-V2.5&#xff0c;经过持续的…

【PyTorch][chapter 29][李宏毅深度学习]Fine-tuning LLM

参考&#xff1a; https://www.youtube.com/watch?veC6Hd1hFvos 目录&#xff1a; 什么是 Fine-tune 为什么需要Fine-tuning 如何进行Fine-tune Fine-tuning- Supervised Fine-tuning 流程 Fine-tuning参数训练的常用方案 LORA 简介 示例代码 一 什么是 Fine-tune …

动手学图神经网络(3):利用图神经网络进行节点分类 从理论到实践

利用图神经网络进行节点分类&#xff1a;从理论到实践 前言 在之前的学习中&#xff0c;大家对图神经网络有了初步的了解。本次教程将深入探讨如何运用图神经网络&#xff08;GNNs&#xff09;来解决节点分类问题。在节点分类任务里&#xff0c;大家往往仅掌握少量节点的真实…

云原生:构建现代化应用的基石

一、什么是云原生&#xff1f; 云原生是一种构建和运行应用程序的方法&#xff0c;旨在充分利用云计算的分布式系统优势&#xff0c;例如弹性伸缩、微服务架构、容器化技术等。云原生应用程序从设计之初就考虑到了云环境的特点&#xff0c;能够更好地适应云平台的动态变化&…

springboot3 集成 knife4j(接口文档)

提示&#xff1a;文章是集成 knife4j&#xff0c;而非 swagger2 或者 swagger3&#xff0c;效果如图 文章目录 前言一、添加依赖二、如何集成1.配置文件2.注解部分1.Tag2.Operation3.Parameter4.Schema 3.使用 总结 前言 提示&#xff1a;&#xff1a;大家在开发阶段&#xff…

基于单片机的智能小区门禁系统设计(论文+源码)

1总体架构 智能小区门禁系统以STM32单片机和WiFi技术为核心&#xff0c;STM32单片机作为主控单元&#xff0c;通过WiFi模块实现与手机APP的连接&#xff0c;构建整个门禁系统。系统硬件包括RFID模块、指纹识别模块、显示屏、按键以及继电器。通过RFID绑定IC卡、APP面部识别、指…

后盾人JS--闭包明明白白

延伸函数环境生命周期 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> <…

The just sharing principle: advice for advice givers

原文 A while ago I wrote about how Only you know what’s best for your application. That’s because only you fully understand the context within which you are making technical decisions. Any advice need to filtered through that context in order to determi…

Charles 4.6.7 浏览器网络调试指南:HTTPS抓包(三)

概述 在现代互联网应用中&#xff0c;网络请求和响应是服务交互的核心。对于开发者和测试人员来说&#xff0c;能够准确捕获并分析这些请求&#xff0c;是保证系统稳定性和性能的关键。Charles作为一个强大的网络调试工具&#xff0c;不仅可以捕获普通的HTTP请求&#xff0c;还…

安装Office自定义项,安装期间出错

个人博客地址&#xff1a;安装Office自定义项&#xff0c;安装期间出错 | 一张假钞的真实世界 卸载PowerDesigner后&#xff0c;打开“WPS文字”时出现下图错误&#xff1a; 解决方法&#xff1a; 按“WinR”快捷键&#xff0c;打开【运行】框&#xff0c;在对话框中输入“re…

图漾相机搭配VisionPro使用简易教程

1.下载并安装VisionPro软件 请自行下载VisonPro软件。 VisionPro 9.0 /9.5/9.6版本经测试&#xff0c;可正常打开图漾相机&#xff0c;建议使用图漾测试过的版本。 2.下载PercipioCameraForVisionPro软件包 使用浏览器下载&#xff1a;https://gitee.com/percipioxyz/camport…

信息系统管理工程师第6-8章精讲视频及配套千题通关双双发布,附第14章思维导图

这一周发文少&#xff0c;不是我在偷懒&#xff0c;而是在和信管的视频及千题通关“”浴血奋战 &#xff0c;特别是第8章卡了我很久&#xff0c;因为内容实在太多&#xff0c;精讲视频估计都差不多4个小时了&#xff0c;还好终于在春节前拿下&#xff0c;提供给小分队的同学&am…

RNN实现阿尔茨海默症的诊断识别

本文为为&#x1f517;365天深度学习训练营内部文章 原作者&#xff1a;K同学啊 一 导入数据 import torch.nn as nn import torch.nn.functional as F import torchvision,torch from sklearn.preprocessing import StandardScaler from torch.utils.data import TensorDatase…

ui-automator定位官网文档下载及使用

一、ui-automator定位官网文档简介及下载 AndroidUiAutomator&#xff1a;移动端特有的定位方式&#xff0c;uiautomator是java实现的&#xff0c;定位类型必须写成java类型 官方地址&#xff1a;https://developer.android.com/training/testing/ui-automator.html#ui-autom…