创建项目文件
从电脑选择一个盘符(来存放之后学习的项目文件)
这里选择以电脑C盘的桌面来做演示
在选择的盘符里面创建一个文件夹(来保存之后的学习文件)
使用 poetry 创建一个初始配置项(pyproject.toml)
shell
poetry init
创建虚拟环境
shell
poetry env use python
激活虚拟环境
shell
poetry shell
安装 flask
shell
poetry add flask
第一个flask程序
python
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
python
from flask import Flask
- 从 flask 模块导入 Flask 类。
创建 Flask 应用实例
python
app = Flask(__name__)
- 创建一个 Flask 应用实例,
__name__
表示当前模块。
定义路由和视图函数
python
@app.route('/')
def index():
return 'Hello Flask'
- 使用
@app.route()
装饰器定义路由。 - 当访问对应的 URL 时,会调用关联的视图函数。
- 在这个例子中,访问根 URL (
'/'
) 时,返回字符串'Hello Flask'
。
运行 Flask 应用
python
if __name__ == '__main__':
app.run()
- 检查当前脚本是否作为主程序运行。
- 如果是,使用
app.run()
启动 Flask 内置的开发服务器。
注意事项
- 确保使用
__name__
而不是'name'
来检查是否作为主程序运行。 - Flask 的开发服务器不应用于生产环境。
路由的理解
在 Flask 中,路由确实可以类比于电脑上的文件夹路径。下面我将详细解释这个比喻:
文件系统中的路径(电脑文件夹)
在电脑文件系统中,路径是用来定位文件或文件夹的一种方式。例如,如果你有一个文件夹位于你的电脑的 C 盘,路径可能是这样的:
shell
C:\Users\YourName\Documents\ProjectFolder
这个路径告诉我们如何从电脑的根目录(在这个例子中是 C 盘)找到特定的文件夹(ProjectFolder)。路径中的每个部分(如 Users、YourName、Documents)都是路径的一部分,它们共同定义了到达目标文件夹的完整路径。
Flask 中的路由
在 Flask Web 应用中,路由的作用非常相似。路由定义了客户端(如浏览器)如何通过 URL 访问服务器上的特定资源或执行特定的操作。例如:
python
@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 应用的不同部分。