02 Flask-快速上手

创建项目文件

从电脑选择一个盘符(来存放之后学习的项目文件)

这里选择以电脑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 应用的不同部分。

相关推荐
小喵要摸鱼1 小时前
Python 神经网络项目常用语法
python
一念之坤3 小时前
零基础学Python之数据结构 -- 01篇
数据结构·python
wxl7812273 小时前
如何使用本地大模型做数据分析
python·数据挖掘·数据分析·代码解释器
NoneCoder3 小时前
Python入门(12)--数据处理
开发语言·python
LKID体4 小时前
Python操作neo4j库py2neo使用(一)
python·oracle·neo4j
小尤笔记4 小时前
利用Python编写简单登录系统
开发语言·python·数据分析·python基础
FreedomLeo14 小时前
Python数据分析NumPy和pandas(四十、Python 中的建模库statsmodels 和 scikit-learn)
python·机器学习·数据分析·scikit-learn·statsmodels·numpy和pandas
007php0075 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
Tech Synapse5 小时前
Python网络爬虫实践案例:爬取猫眼电影Top100
开发语言·爬虫·python
一行玩python5 小时前
SQLAlchemy,ORM的Python标杆!
开发语言·数据库·python·oracle