网站入门: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

bash 复制代码
from flask import Flask

app = 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 导入包

bash 复制代码
from flask import Flask, render_template

3.2 创建 templates文件夹

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

3.3 将html页面写入函数

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

bash 复制代码
@app.route('/')
def index():
    return render_template('about.html')

效果:

附录:

项目结构:

about.html

bash 复制代码
<html>
<h1>这是html页面</h1>

</html>

Main.py

bash 复制代码
from flask import Flask, render_template

app = 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

相关推荐
大阳光男孩3 小时前
Spring Boot 整合 Debezium 实现 MySQL 增量数据监听(嵌入式版)
spring boot·后端·mysql
皮皮林5513 小时前
ThreadLocal 不香了?ScopedValue才是王道?
后端
X-⃢_⃢-X4 小时前
一、第一阶段:认识 Spring Boot
java·spring boot·后端
前端工作日常4 小时前
我学习到的Java程序的生命周期
java·后端
梅雅达编程笔记6 小时前
编程启蒙|Scratch 转 Python 系列第9天:字典/哈希表积木双向对照(AI大模型参数配置表实战)
开发语言·人工智能·python·numpy·pandas
AskHarries6 小时前
GitHub 登录配置流程
后端
zhz52147 小时前
GIS项目中空间参考转换与MBTiles偏移:问题成因、解法与避坑
python·vue·gis
KaMeidebaby7 小时前
卡梅德生物技术快报|如何制备单克隆抗体:小众禽类靶点单抗制备实操流程:双载体抗原交叉筛选完整工艺记录
人工智能·python·深度学习·算法·机器学习
乱写代码8 小时前
Pydantic学习--BaseModel
python
fu15935745688 小时前
【边缘计算实战】P1:从零搭建边云任务卸载仿真实验台(Python 可复现)
数据库·python·边缘计算