当前位置: 首页 > news >正文

网站入门:Flask用法讲解

Flask是一个使用Python编写的轻量级Web服务框架,旨在帮助开发人员快速构建和部署Web应用程序。下面将对Flask进行更为详细的解释说明,并展示其使用示例与注意事项:

1.解释说明

  • 定义及特点: Flask以其简洁和灵活著称,允许开发者以微框架的方式实现Web应用,同时支持扩展以满足更复杂的需求。
  • 主要组件: Flask的核心是Werkzeug WSGI工具集和Jinja2模板引擎。这些组件共同工作,使得Flask既强大又易于扩展。
  • 适用场景: Flask适合初学者学习和小型项目开发。对于需要高度定制化和控制的项目,Flask提供了足够的灵活性。

2.安装

可以通过Python包管理器pip轻松安装Flask,使用命令pip install flask即可完成安装。
简单应用: 一个基本的Flask应用包含实例化Flask类、定义路由以及启动服务器三个步骤。例如,创建一个简单的“Hello World”应用,代码如下:

Main.py

from flask import Flaskapp = Flask(__name__)  # __name__参数不能是其他字符串,因为它需要满足Flask的要求,以便正确处理URL和静态文件等。如果使用其他字符串作为参数,可能会导致应用无法正常运行。@app.route('/') # 浏览器输入对应的路径,即可访问对应的方法 
def hello_world():return 'Hello, World!'if __name__ == '__main__':  # 确保此模块被导入时,不会被运行app.run()    #  Flask应用默认运行在localhost的5000端口,但可以根据需要绑定其他IP地址和端口。例如,app.run(host='0.0.0.0', port=80)会使应用可通过所有IP访问,并使用80端口。

在浏览器中输入http://127.0.0.1:5000运行效果:运行效果:
在这里插入图片描述

3.函数跳转到其他html页面

3.1 导入包

from flask import Flask, render_template

3.2 创建 templates文件夹

在你的项目文件夹中创建一个名为templates的子文件夹,并将index.html移动到该文件夹中。Flask会自动在templates文件夹中查找模板文件。
在这里插入图片描述

3.3 将html页面写入函数

在templates文件夹内创建about.html文件,并在Main.py中添加:

@app.route('/')
def index():return render_template('about.html')

效果:
在这里插入图片描述

附录:

项目结构:
在这里插入图片描述

about.html

<html>
<h1>这是html页面</h1></html>

Main.py

from flask import Flask, render_templateapp = Flask(__name__)  # __name__参数不能是其他字符串,因为它需要满足Flask的要求,以便正确处理URL和静态文件等。如果使用其他字符串作为参数,可能会导致应用无法正常运行。# 首页
@app.route('/')  # 浏览器输入对应的路径,即可访问对应的方法
def hello_world():return "HelloWorld"# 关于我们页面
@app.route('/about')
def about():return render_template("about.html")if __name__ == '__main__':  # 确保此模块被导入时,不会被运行app.run()  # Flask应用默认运行在localhost的5000端口,但可以根据需要绑定其他IP地址和端口。例如,app.run(host='0.0.0.0', port=80)会使应用可通过所有IP访问,并使用80端口。

源码获取:https://gitee.com/wang_hua_min/BBS/tree/90b777c95042709c25370474bc359cf42a1b6560

相关文章:

网站入门:Flask用法讲解

Flask是一个使用Python编写的轻量级Web服务框架&#xff0c;旨在帮助开发人员快速构建和部署Web应用程序。下面将对Flask进行更为详细的解释说明&#xff0c;并展示其使用示例与注意事项&#xff1a; 1.解释说明 定义及特点: Flask以其简洁和灵活著称&#xff0c;允许开发者以…...

头歌数据库备份与恢复

第1关:数据库的备份和恢复 mysql -uroot -p123123 -h127.0.0.1 < /data/workspace/myshixun/src/data.sqlmysqldump -u root -p studb student> /student_bk.sqlmysql -uroot -p123123 -h127.0.0.1 -e "create database studb2;"mysql -u root -p123123 studb…...

小程序项目创建与Vant-UI引入

一&#xff0c;创建小程序项目 AppID可先用测试号&#xff1b; 模板来源选择 ’全部来源‘ &#xff0c;’基础‘ 。模板一定JS开头的&#xff1b; vant-weapp 官网 vant-Weapp 二&#xff0c;下载vant-weapp 组件 1&#xff0c;在新项目中打开 ’调试器‘&#xff1b; 2…...

xtrabackup 使用

官网 Percona XtraBackup Use APT repositories - Percona XtraBackup 一 安装 下载 wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb wget https://repo.percona.com/apt/percona-release_latest.zesty_all.deb 可下载列表 Perc…...

C++写一个简单的计算器程序案例

1. 编写C源代码 创建一个名为 advanced_calculator.cpp 的文件&#xff0c;并编写以下代码&#xff1a; // advanced_calculator.cpp #include <iostream> #include <limits>int main() {char operatorChoice;bool keepRunning true;while (keepRunning) {int nu…...

Spring Boot 开发 -- swagger3.0 集成

前言 随着微服务架构的普及和API数量的增长&#xff0c;API文档的管理和维护变得尤为重要。Swagger作为一款强大的API文档生成工具&#xff0c;能够帮助我们自动生成API文档&#xff0c;并提供在线测试功能&#xff0c;极大地提高了开发效率。本文将介绍如何在Spring Boot项目…...

探索安全之道 | 企业漏洞管理:从理念到行动

如今&#xff0c;网络安全已经成为了企业管理中不可或缺的一部分&#xff0c;而漏洞管理则是网络安全的重中之重。那么企业应该如何做好漏洞管理呢&#xff1f;不妨从业界标准到企业实践来一探究竟&#xff01;通过对业界标准的深入了解&#xff0c;企业可以建立起完善的漏洞管…...

【记录贴:分布式系列文章】

分布式系列文章目录 文章目录 分布式系列文章目录前言一、Redisq1.怎么判断是否命中缓存1. MySQL数据库如何检查询查缓存是否命中链接2.如何判断redis是否命中缓存链接 q2.Redis缓存穿透、雪崩、击穿以及分布式锁和本地锁 二、分布式q1.分布式订单号生成策略q2.接口幂等性,防止…...

初识SDN(二)

初识SDN&#xff08;二&#xff09; SDN部分实现 REST API 是什么&#xff1f; REST API&#xff08;Representational State Transfer Application Programming Interface&#xff0c;表述性状态传递应用程序接口&#xff09;是一种基于HTTP协议的接口&#xff0c;广泛用于…...

某红书旋转滑块验证码分析与协议算法实现(高通过率)

文章目录 1. 写在前面2. 接口分析3. 验证轨迹4. 算法还原 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致…...

Gin的快速入门和搭建

文章目录 Go的工程工程架构技术选型 Gin入门 Go的工程 基于Go生态&#xff0c;构建一个支持内容管理&#xff0c;内容加工、内容分发的内容库系统。 内容管理&#xff1a;增删改查内容加工&#xff1a;例如内容审核、推荐等内容分发&#xff1a;将内容可以推到不同的业务线 …...

react-native运行程序 出现 Application XXX is waiting for the debugger

1.重启adb: adb kill-server、 adb start-server. 2、确定USB调试模式是否开启&#xff0c;如果已经开启了&#xff0c;关闭了重新打开一下 3.选择调试模式并关闭等待调试程序...

什么文档加密软件好用?迅软DSE加密软件你不会还不知道吧?

一、什么文档加密软件好用&#xff1f; 其中有迅软DSE文档加密软件等。 迅软DSE加密软件&#xff1a;让企业的创意成果、招投标文件、生产工艺、流程配方、研发成果、公司计划、员工信息等核心数据更安全。 多方面加密模式&#xff0c;有效防止数据泄密 透明无感知加密&…...

【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路

目录 一、污点(Taint) 1.1污点介绍 1.2污点的组成格式 1.3当前 taint effect 支持如下三个选项&#xff1a; 1.4污点的增删改查 1.4.1验证污点的作用——NoExecute 1.4.2验证污点的作用——NoSchedule 1.4.3 验证污点的作用——PreferNoSchedule 1.5污点的配置与管理…...

linux进程加载和启动过程分析

我们的源代码通过预处理,编译,汇编,链接后形成可执行文件,那么当我们在终端敲下指令$ ./a.out argv1 argv2 后,操作系统是怎么将我们的可执行文件加载并运行的呢? 首先知道,计算机的操作系统的启动程序是写死在硬件上的,每次计算机上电时,都将自动加载启动程序,之后…...

WLAN组网模型探究

目录 一、WLAN基本概念二、WLAN组网方式三、WLAN转发模型 随着信息技术的飞速发展&#xff0c;无线局域网&#xff08;WLAN&#xff09;已逐渐成为企业网络架构中不可或缺的一部分。不同的企业组织因其业务特性、规模大小及安全需求的不同&#xff0c;对WLAN的要求也各有侧重。…...

操作系统基础知识

一. 进程 进程是正在运行中的程序&#xff0c;是动态的 进程是资源分配的最小单位 进程的基本特征&#xff1a;动态性&#xff0c;并发性&#xff0c;独立性&#xff0c;异步性 二. 线程 线程在执行过程中的每一个任务就是一个线程 进程是由一个或多个线程组成&#xff0…...

Kompas AI:智能生活的开启者

引言 在现代社会&#xff0c;**人工智能&#xff08;AI&#xff09;**已经深刻地影响了我们的生活和工作。无论是智能家居、自动驾驶&#xff0c;还是医疗诊断&#xff0c;AI的应用无处不在。而在众多AI平台中&#xff0c;Kompas AI 作为一个先进的对话式AI平台&#xff0c;通过…...

Java——二进制原码、反码和补码

一、简要介绍 原码、反码和补码只是三种二进制不同的表示形式&#xff0c;每个二进制数都有这三个形式。 1、原码 原码是将一个数的符号位和数值位分别表示的方法。 最高位为符号位&#xff0c;0表示正&#xff0c;1表示负&#xff0c;其余位表示数值的绝对值。 例如&…...

git使用流程

1.下载git 搜索下载 2.注册github账号&#xff08;打开爬墙工具&#xff09; 创建一个仓库 3.配置邮箱和密码 4.所以找一个文件夹 鼠标右键 选择 open Git Bash here&#xff08;当前文件夹下打开命令行&#xff09; 输入命令 配置用户名和邮箱 5.将建的仓库克隆下来 …...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...