Python Flask 在5分钟或更短时间内解释清楚

python flask是一种在python中构建web应用程序的微框架。

它是一个非常灵活和可定制的框架,使学习变得容易。因此,在构建web服务器时,它是一个流行的选择。本文介绍了python flask:它是什么,如何与其他框架进行比较,以及如何在python中创建基本应用程序。

flask是什么?

flask是一个用于在python中构建web服务器的框架。与其他框架不同,它不会强制开发人员遵循特定的目录结构。

此外,它是没有偏见的,允许您使用您喜欢的工具来执行诸如连接到数据库和验证表单输入等操作。

如前所述,flask用于构建web服务器。web服务器是使用适当的数据和文件响应http请求的软件。

flask vs.其他框架

本节将简要比较flask与其他两个流行框架- django和fast api。我们将探讨使用flask相对于其他框架的好处和限制。

flask vs. django

flask是一个轻量级的微框架。它为开发人员提供了简单和灵活性,允许您按需构建。然而,这意味着您必须自己做很多工作。

另一方面,django是一个“电池包含”的框架,带有许多预配置的工具。这使您能够更快地构建和发布。然而,django不太灵活,并且学习曲线较陡峭。

因此,flask适用于小型和中型项目,而django适用于较大和更复杂的项目。

还可阅读:flask和django之间的区别

flask vs. fastapi

fastapi是一个相对较新的用于在python中构建api的框架。它快速且易于使用。它提供了内置的监控功能。然而,它是一个生态系统和社区相对较小的新框架。此外,它的使用仅限于api。

相比之下,flask更加灵活多样,既可用于api,也可用于渲染静态文件。它更轻巧且相对容易。然而,它比fastapi慢。

flask最适合需要渲染html的web应用程序,而fastapi应用于构建api。

还可阅读:fastapi vs. flask:哪种适合您?

如何在flask中创建应用程序

在本节中,我们将构建一个简单的flask应用程序来显示一些html并通过api提供数据。这不是提供全面教程的目的,而是简要展示构建flask应用程序的样子。

先决条件

要按照本教程操作,您需要先了解python 3。此外,熟悉http会很有用,但不是必需的。

要在flask中创建应用程序,您首先需要安装python。如果需要有关如何执行此操作的指南,这是一个指导你的视频:

创建虚拟环境

首先,为应用程序创建一个项目文件夹。我在bash终端中运行命令,因此使用以下命令创建文件夹:

mkdir flask-tut

接下来,使用以下命令进入文件夹:

cd flask-tut

进入文件夹后,使用以下命令创建虚拟环境。这样可以确保我们安装的依赖项不会与其他项目的依赖项冲突。

python3 -m venv venv

这应该会创建一个名为venv的文件夹,您可以使用以下命令看到它:

ls

激活虚拟环境

激活虚拟环境很简单。使用bash终端,输入以下命令:

source venv/bin/activate

您的终端提示符应该从$ 变为(venv) $

有关更多信息,请参阅关于python虚拟环境的文章。

安装flask

有了虚拟环境,我们可以继续安装flask。为此,我们将使用pip:

pip install flask

这应该会下载一些文件并安装依赖项。

提供一些html

接下来,我们可以开始处理main.py文件。这个文件将是应用程序的入口点。

touch main.py

创建main.py文件后,使用您喜欢的编辑器打开它,并添加以下代码:

from flask import flask

app = flask(__name__)

@app.route("/")
def index():
    return '

hello from flask!

'

在上面的代码片段中,我们首先导入了flask类。接下来,我们实例化了flask类,并传入了__name__变量。这是一个内置变量,存储着当前模块的名称。flask需要这个变量来知道在哪里找到文件。我们将flask的实例存储在app变量中。

接下来,我们创建了一个名为index的函数。这个函数返回我们要显示给用户的html。在函数定义之前,我们使用了@app.route装饰器。这个装饰器将常规函数转换为flask视图函数。这意味着函数的返回值将被转换为html响应。

要运行应用程序,我们使用以下命令:

flask --app main run

–app标志指定应用程序所在的位置。在这种情况下,是在main.py中。服务器应该开始运行。

如果您在http://localhost:5000或http://127.0.0.1:5000上打开浏览器,您应该看到一个h1:

将所有html代码写在python代码中通常是不好的。理想情况下,我们希望将python代码与html分开。下一节将介绍如何提供独立的html文件。

提供html文件

在本节中,我们将编写代码来为我们的网站提供一个index.html文件。首先,让我们创建index.html文件。我们将在templates文件夹中创建此文件,因为flask会在该位置查找我们的html模板。

touch template/index.html

接下来,使用您喜欢的编辑器打开文件,并添加以下代码:



  
    
    
    
    flask网站
  
  
	

来自flask的问候!

接下来,重新打开我们之前创建的main.py文件。然后在flask导入之后的顶部添加以下导入:

from flask import render_template

我们刚刚导入的render_template函数使我们能够提供html模板。要呈现html文件,我们将index函数修改为以下内容:

@app.route("/")
def index():
    return render_template('index.html')

停止服务器(ctrl + c),然后使用以下命令重新启动它:

flask --app main run

重新加载浏览器窗口,您应该会看到以下内容。

在此示例中,我们显示了一个静态html页面。使用flask,您还可以通过创建html模板并提供数据来显示模板。这些模板遵循jinja语法。出于简洁起见,我们不会在此处介绍这一点,但稍后我将提供一些学习flask的好资源的链接。

创建api路由

显示html内容是web应用程序的一种功能。另一种功能是通过api路由提供数据。在flask中,设置api路由也很容易。将以下代码添加到main.py文件中,以在'/data'处创建一个api路由。

@app.route('/data')
def data():
    return { "status": "ok", "msg": "来自flask api的问候" }

如果一个函数返回一个字典或列表,该值将被转换为json并作为响应发送。如果重新启动服务器并打开http://localhost:5000/data,您应该会看到以下内容:

学习flask的资源

❇️flask文档是学习的绝佳资源。它结构良好,清晰易懂,可能是学习flask最可靠的资源。

❇️freecodecamp还在flask上有一个很棒的youtube视频。freecodecamp是免费但高质量学习资源的家喻户晓的名字。

❇️这个udemy课程是学习如何在flask中构建企业级api的好方法。它涵盖了诸如flask-sqlalchemy和flask-smorest等工具。

结论

这篇文章是对python flask的简要介绍。我们介绍了它是什么,与其他web框架进行了比较,并构建了一个简单的应用程序。最后,我提供了进一步学习的资源链接。

接下来,查看一下如何使用json web token保护flask rest api

类似文章