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

相关推荐
Q_192849990614 分钟前
基于Spring Boot的九州美食城商户一体化系统
java·spring boot·后端
ZSYP-S42 分钟前
Day 15:Spring 框架基础
java·开发语言·数据结构·后端·spring
黄公子学安全1 小时前
Java的基础概念(一)
java·开发语言·python
Yuan_o_1 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
程序员一诺2 小时前
【Python使用】嘿马python高级进阶全体系教程第10篇:静态Web服务器-返回固定页面数据,1. 开发自己的静态Web服务器【附代码文档】
后端·python
小木_.2 小时前
【Python 图片下载器】一款专门为爬虫制作的图片下载器,多线程下载,速度快,支持续传/图片缩放/图片压缩/图片转换
爬虫·python·学习·分享·批量下载·图片下载器
DT辰白2 小时前
如何解决基于 Redis 的网关鉴权导致的 RESTful API 拦截问题?
后端·微服务·架构
Jiude3 小时前
算法题题解记录——双变量问题的 “枚举右,维护左”
python·算法·面试
唐小旭3 小时前
python3.6搭建pytorch环境
人工智能·pytorch·python
thatway19893 小时前
AI-SoC入门:15NPU介绍
后端