创建项目文件
从电脑选择一个盘符(来存放之后学习的项目文件)
这里选择以电脑C盘的桌面来做演示
在选择的盘符里面创建一个文件夹(来保存之后的学习文件)
使用 poetry 创建一个初始配置项(pyproject.toml)
poetry init
创建虚拟环境
poetry env use python
激活虚拟环境
poetry shell
安装 flask
poetry add flask
第一个flask程序
from flask import Flask # 从 flask 模块导入 Flask 类。Flask 是一个轻量级的 Web 应用框架,用于创建 Web 应用。
app = Flask(__name__) # 创建一个 Flask 应用实例。__name__ 是当前模块的名字,当这个脚本作为主程序运行时,它的值是 '__main__'。这个实例是整个 Flask 应用的核心,用于配置和运行应用。
@app.route('/') # 使用 Flask 的路由装饰器@app.route()来定义一个路由。这个装饰器告诉 Flask,当用户访问根 URL(即网站的主页)时,应该调用哪个函数。在这个例子中,根 URL 就是网站的域名后面不跟任何路径。
def index(): # 定义一个视图函数,这个函数与上面定义的路由关联。当用户访问与该路由匹配的 URL 时,这个函数将被调用。
return 'Hello Flask' # 这个函数返回一个字符串,这个字符串将作为 HTTP 响应发送给客户端。在这个例子中,当用户访问根 URL 时,他们将看到页面上显示 "Hello Flask"。
if __name__ == '__main__': # 这是一个条件语句,用于检查当前脚本是否是作为主程序运行。如果是,那么下面的代码将被执行。如果这个脚本被其他模块导入,__name__ 的值将是模块的名字,而不是 '__main__',因此下面的代码不会执行。
app.run() # 这行代码启动 Flask 内置的开发服务器。当这个脚本作为主程序运行时,它会启动一个本地服务器,通常在 http://127.0.0.1:5000/ 上运行。这个服务器是用于开发和测试的,不应该在生产环境中使用。
讲解
关键组件
导入 Flask
from flask import Flask
- 从 flask 模块导入 Flask 类。
创建 Flask 应用实例
app = Flask(__name__)
- 创建一个 Flask 应用实例,
__name__
表示当前模块。
定义路由和视图函数
@app.route('/')
def index():
return 'Hello Flask'
- 使用
@app.route()
装饰器定义路由。 - 当访问对应的 URL 时,会调用关联的视图函数。
- 在这个例子中,访问根 URL (
'/'
) 时,返回字符串'Hello Flask'
。
运行 Flask 应用
if __name__ == '__main__':
app.run()
- 检查当前脚本是否作为主程序运行。
- 如果是,使用
app.run()
启动 Flask 内置的开发服务器。
注意事项
- 确保使用
__name__
而不是'name'
来检查是否作为主程序运行。 - Flask 的开发服务器不应用于生产环境。
路由的理解
在 Flask 中,路由确实可以类比于电脑上的文件夹路径。下面我将详细解释这个比喻:
文件系统中的路径(电脑文件夹)
在电脑文件系统中,路径是用来定位文件或文件夹的一种方式。例如,如果你有一个文件夹位于你的电脑的 C 盘,路径可能是这样的:
C:\Users\YourName\Documents\ProjectFolder
这个路径告诉我们如何从电脑的根目录(在这个例子中是 C 盘)找到特定的文件夹(ProjectFolder)。路径中的每个部分(如 Users、YourName、Documents)都是路径的一部分,它们共同定义了到达目标文件夹的完整路径。
Flask 中的路由
在 Flask Web 应用中,路由的作用非常相似。路由定义了客户端(如浏览器)如何通过 URL 访问服务器上的特定资源或执行特定的操作。例如:
@app.route('/about')
def about():
return 'About Page'
在这个例子中,@app.route('/about')
定义了一个路由,它告诉 Flask,当用户访问 http://yourdomain.com/about
这个 URL 时,应该调用 about()
函数。这里的 /about
就像是文件系统中的路径,它指向了服务器上的一个特定“位置”。
路由和视图函数
在 Flask 中,每个路由都关联一个视图函数。当用户访问该路由对应的 URL 时,关联的视图函数会被执行,并返回相应的响应给客户端。这类似于在文件系统中,当你访问一个文件夹时,你可能会看到里面的内容或执行某个操作。
总结
- 文件系统路径:定义了如何在电脑文件系统中找到一个文件夹或文件。
- Flask 路由:定义了如何通过 URL 访问 Web 应用中的一个特定视图函数。
通过这个比喻,你可以更容易地理解 Flask 路由的概念,以及它们如何帮助组织和访问 Web 应用的不同部分。