当前位置: 首页 > 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

http://www.lryc.cn/news/361328.html

相关文章:

  • 头歌数据库备份与恢复
  • 小程序项目创建与Vant-UI引入
  • xtrabackup 使用
  • C++写一个简单的计算器程序案例
  • Spring Boot 开发 -- swagger3.0 集成
  • 探索安全之道 | 企业漏洞管理:从理念到行动
  • 【记录贴:分布式系列文章】
  • 初识SDN(二)
  • 某红书旋转滑块验证码分析与协议算法实现(高通过率)
  • Gin的快速入门和搭建
  • react-native运行程序 出现 Application XXX is waiting for the debugger
  • 什么文档加密软件好用?迅软DSE加密软件你不会还不知道吧?
  • 【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路
  • linux进程加载和启动过程分析
  • WLAN组网模型探究
  • 操作系统基础知识
  • Kompas AI:智能生活的开启者
  • Java——二进制原码、反码和补码
  • git使用流程
  • C++设计模式|结构型 代理模式
  • C语言 带头双向循环链表的基本操作
  • MATLAB中扩展卡尔曼滤波误差估计的关键点
  • SpringBoot温习
  • Spring Cloud:构建高可用分布式系统的利器
  • IT技术 | 电脑蓝屏修复记录DRIVER_IRQL_NOT_LESS_OR_EQUAL
  • windows 下编译 TessRact+leptonica 识别图片文字
  • 如何把docker里的内容拷贝出来
  • OpenAI开始训练新的前沿模型——但GPT-5至少在90天内不会推出
  • 配置 HTTP 代理 (HTTP proxy)
  • mysql binlog查看指定数据库