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

相关推荐
geovindu7 小时前
python: Memento Pattern
开发语言·python·设计模式·备忘录模式
苍何7 小时前
字节发力,豆包大模型2.0 震撼来袭(附 Trae 实测)
后端
苍何7 小时前
不会剪辑的人,开始用 AI 批量出爆款了
后端
苍何7 小时前
百度 APP 正式接入 OpenClaw,所有人限时免费!
后端
寻星探路7 小时前
【JVM 终极通关指南】万字长文从底层到实战全维度深度拆解 Java 虚拟机
java·开发语言·jvm·人工智能·python·算法·ai
lbb 小魔仙7 小时前
【Java】Java 实战项目:手把手教你写一个电商订单系统
android·java·python
岱宗夫up7 小时前
FastAPI入门(上篇):快速构建高性能Python Web API
开发语言·前端·python·fastapi
Dxy12393102167 小时前
中文乱码恢复方案
开发语言·python
rongyili888 小时前
Dify 外部知识库集成 Milvus 实战指南
开发语言·python·milvus
Hello eveybody9 小时前
什么是动态规划(DP)?(Python版)
python·动态规划