当前位置: 首页 > 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.将建的仓库克隆下来 …...

好写作AI:利用多轮人机交互迭代实现深度降AIGC的方法论

改一遍不够&#xff1f;那就改三遍——但每遍都要改对地方很多同学用AI辅助写论文&#xff0c;流程是这样的&#xff1a;用AI生成一段文字 → 觉得“AI味儿”有点重 → 手动改几个词 → 提交。然后被检测系统打回来。于是困惑&#xff1a;我都改了&#xff0c;怎么还是不行&…...

Simulink Test Sequence模块在复杂逻辑测试中的高效应用

1. Test Sequence模块入门&#xff1a;逻辑测试的瑞士军刀 第一次接触Simulink Test Sequence模块时&#xff0c;我正被一个汽车电子控制单元(ECU)的状态机测试折磨得焦头烂额。传统脚本测试需要编写大量重复代码&#xff0c;而Test Sequence就像突然出现的瑞士军刀&#xff0c…...

超轻量级OpenClaw与LaTeX结合:学术文档自动化处理

超轻量级OpenClaw与LaTeX结合&#xff1a;学术文档自动化处理 科研工作者每天需要处理大量的文献整理、公式编辑和文档排版工作&#xff0c;传统手动方式耗时且容易出错。本文将展示如何用超轻量级OpenClaw实现学术文档的自动化处理&#xff0c;让LaTeX文档编写变得轻松高效。 …...

为什么MedNeXt能超越Transformer?揭秘大卷积核在医学图像分割中的独特优势

MedNeXt如何用大卷积核重塑医学图像分割&#xff1f;技术优势全解析 当你在深夜的医院影像科&#xff0c;看着屏幕上模糊的CT扫描图&#xff0c;试图从那些灰度渐变中分辨出肿瘤边界时&#xff0c;是否会想过AI模型眼中的世界&#xff1f;医学图像分割——这个决定患者治疗方案…...

nli-distilroberta-base参数解析与调优指南:关键配置项详解

nli-distilroberta-base参数解析与调优指南&#xff1a;关键配置项详解 1. 引言 如果你正在使用nli-distilroberta-base模型进行自然语言推理任务&#xff0c;可能会遇到这样的困惑&#xff1a;为什么同样的模型在不同机器上运行速度差异这么大&#xff1f;为什么有时候推理结…...

比特币钱包密码与助记词恢复工具:从入门到精通

比特币钱包密码与助记词恢复工具&#xff1a;从入门到精通 【免费下载链接】btcrecover An open source Bitcoin wallet password and seed recovery tool designed for the case where you already know most of your password/seed, but need assistance in trying different…...

PDF-Parser-1.0行业报告:市场分析与技术趋势

PDF-Parser-1.0行业报告&#xff1a;市场分析与技术趋势 1. 引言 每天都有成千上万份行业报告、白皮书和研究文档以PDF格式在企业间流转。这些文档蕴含着宝贵的市场洞察、技术趋势和商业机会&#xff0c;但手动提取和分析这些信息需要耗费大量时间和精力。PDF-Parser-1.0的出…...

告别msi2lmp参数缺失!手把手教你用Perl脚本insight2lammps搞定MS到LAMMPS的data文件转换

告别msi2lmp参数缺失&#xff01;手把手教你用Perl脚本insight2lammps搞定MS到LAMMPS的data文件转换 分子动力学模拟研究者们常常遇到这样的困境&#xff1a;在Materials Studio&#xff08;MS&#xff09;中精心构建的模型&#xff0c;导出后却因LAMMPS自带的msi2lmp工具参数缺…...

像素风AI工具体验:像素史诗智识终端,让研究变得有趣又高效

像素风AI工具体验&#xff1a;像素史诗智识终端&#xff0c;让研究变得有趣又高效 1. 引言&#xff1a;当科研遇上像素冒险 想象一下&#xff1a;你是一位勇者&#xff0c;站在像素风格的城堡前&#xff0c;准备开始一场史诗般的冒险。但这次&#xff0c;你的武器不是剑与盾&…...

文墨共鸣惊艳效果:古风UI下实时语义相似度计算与墨韵动画演示

文墨共鸣惊艳效果&#xff1a;古风UI下实时语义相似度计算与墨韵动画演示 1. 项目概览 文墨共鸣是一个将深度学习技术与传统水墨美学完美结合的系统。它基于先进的StructBERT模型&#xff0c;能够智能分析两段文字之间的语义相似度&#xff0c;并通过优雅的古风界面直观展示结…...