迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

Flask Post 请求

作者:迹忆客 最近更新:2024/03/16 浏览次数:

我们将通过这个解释了解两种基本的 HTTP 方法(getpost),我们还将了解它们之间的区别,然后通过一个基本示例来了解如何从 Flask 中的基本表单发送数据.


在 Flask 中使用 Post 请求

我们将解释 HTTP 方法、getpost 请求。你可能以前听说过这两种方法; get 是获取信息或向网站或客户发送信息的最常用方式,具体取决于信息的发送方式。

Post 是一种安全的方式; get 本质上是一种不安全的获取信息的方式;它是最常用的。当我们运行我们的应用程序并浏览它时,我们可以看到它已连接到我们拥有主页的位置;如果我们进入控制台,会弹出一条语句并说 get

这是什么意思?本质上,每当我们在这里输入内容时都是不安全的,这意味着你知道任何人都可以看到它。

将发送到服务器并使用 get 方法返回给我们实际网页的信息不是安全信息。

from flask import Flask

app = Flask(__name__)


@app.route("/")
def index():
    return "Hi there, this is testing"


if __name__ == "__main__":
    app.run(debug=True)

输出:

如果我们使用 post 请求,我们可以发送加密的安全信息,我们不会从任何一个端点看到它。它不存储在实际的 Web 服务器上,因此这就是 getpost 之间的区别。

我们可能没有以最好的方式解释它,但是通过这篇文章,我们将了解它们之间的主要区别以及考虑用于发送不安全请求和 post 请求的 get 方法是安全的基本方法用于发送数据,通常用于发送表单数据。

让我们来看一个基本的例子:我们想在这个应用程序中设置几个不同的页面。我们将编写一个带有对话框的脚本,在该对话框中,有人可以使用按钮键入并发送它,我们在使用 post 请求时执行此操作。

我们将使用名为 LOGIN() 的方法设置一个页面,在顶部给它一个装饰器,然后放置 "/login"。我们需要添加另一个我们还没有看到的方面:方法

我们可以在这个登录页面上使用它,所以默认情况下,每当你连接,或者你去几个页面之一,然后你去一个 get 请求,这意味着我们需要获取该信息,但它不会为了安全起见,这就是为什么我们有一种不同的方法,即 post 方法。

在装饰器中,我们需要使用一个名为 methods 的参数,它接受一个列表,然后我们在列表中放置一个 postget

@app.route("/login", methods=["POST", "GET"])

问题是我们如何在这个 login 函数中确定我们是调用 get 请求还是调用 post 请求?我们需要开始导入 request 并将其与 if 语句一起使用,以检查我们是否通过 get 请求或 post 请求到达此页面。

如果我们有一个 post,我们会重定向用户并将数据发送到用户页面,我们可以在其中显示数据。我们还使用 Data 作为表单字典的键,并从我们的 login.html 文件中访问它,其中我们有一个名为 name 的属性。

如果我们有 get 请求,我们使用 render_template() 方法呈现登录页面。

def LOGIN():
    if request.method == "POST":
        UER_DATA = request.form["DATA"]
        return redirect(url_for("USER", usr=UER_DATA))
    else:
        return render_template("login.html")

现在我们需要再创建一个页面,函数的名称将是 USER(),它将接受一个变量 usr。我们将返回基本的 HTML,而不是返回模板。

@app.route("/<usr>")
def USER(usr):
    return f"<h1>{usr}</h1>"

现在我们需要构建一个简单的 HTML 表单的登录页面,因此,在模板文件夹中,我们创建一个 login.html 文件;在这个文件中,我们将使用 Bootstrap 启动器模板。在 body 标签内,我们开始创建表单。

我们使用了 method 属性,在这种情况下,我们的方法将是 post,因为我们将发布信息,而不是获取信息,通常,如果你将 get 放在这里,这意味着你将使用你从服务器获得的信息填写此表格。

 <h1>Hello, this is login page!</h1>
    <form action="#" method="post">
        <p>Name:</p>
        <p><input type="text" name="DATA" /></p>
        <p><input type="submit" value="submit"/></p>
    </form>

这是我们上面解释的 app.py 文件的完整源代码。

from flask import Flask, render_template, redirect, url_for, request

app = Flask(__name__)


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


@app.route("/login", methods=["POST", "GET"])
def LOGIN():
    if request.method == "POST":
        UER_DATA = request.form["DATA"]
        return redirect(url_for("USER", usr=UER_DATA))
    else:
        return render_template("login.html")


@app.route("/<usr>")
def USER(usr):
    return f"<h1>{usr}</h1>"


if __name__ == "__main__":
    app.run(debug=True)

输出:

控制台输出:

上一篇:在 Flask 中连接 MySQL 数据库

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Flask 中连接 MySQL 数据库

发布时间:2024/03/16 浏览次数:200 分类:编程语言

通过这个解释,我们将学习如何在 flask_mysqldb 的帮助下在 Flask 中连接 MySQL 数据库。我们还将学习如何在线设置数据库。

运行 Flask 应用程序

发布时间:2023/03/27 浏览次数:148 分类:Python

我们将通过这个解释了解如何在 Visual Studio Code 中设置 Flask 环境并创建 Flask 的基本应用程序。

Flask 发送 Post 请求

发布时间:2023/03/27 浏览次数:215 分类:Python

我们将通过这个解释了解两种基本的 HTTP 方法(get 和 post),我们还将了解它们之间的区别,然后通过一个基本示例来说明如何从 Flask 中的基本表单发送数据。

在 Flask 中使用 url_for 创建动态 URL

发布时间:2023/03/27 浏览次数:257 分类:Python

通过这个解释,我们将了解 url_for() 函数的作用以及我们如何在 Flask 中创建动态 URL。我们还将学习如何在模板中使用 url_for()。

在 Flask 应用程序中显示图像

发布时间:2023/03/27 浏览次数:157 分类:Python

通过这个解释,我们将学习如何将图像添加到网页并在 Flask 应用程序中上传或显示多个图像。

使用 Flask 下载文件

发布时间:2023/03/27 浏览次数:291 分类:Python

通过这个解释,我们将学习如何在 Flask 中的 send_file 函数的帮助下创建一个可下载的链接以将文件下载为附件。

使用 Flask 获取查询参数

发布时间:2023/03/27 浏览次数:152 分类:Python

通过这个解释,我们将学习如何借助 Flask 中的请求查询字符串从 URL 中获取参数。

更改 Flask 中的端口

发布时间:2023/03/27 浏览次数:247 分类:Python

我们通过这个解释学习如何在通过命令行界面运行我们的 Flask 应用程序时更改端口,我们还将学习如何在不同的端口和不同的操作系统中同时运行 Flask 应用程序。

Flask 应用程序路由

发布时间:2023/03/27 浏览次数:160 分类:Python

我们将通过这个解释了解如何在 Flask 中创建路由,以及在 Flask 中调用路由时如何获得响应。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便