迹忆客 专注技术分享

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

使用 Flask 获取查询参数

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

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


借助 Flask 中的请求查询字符串提取参数

通常,我们在 Flask 中使用我们的参数构建一个干净的 URL,但有时我们出于某种原因想要一个传统的查询字符串。我们的查询字符串易于使用;它们只是由&和右侧的值分隔。

现在我们将向你展示如何提取它们,我们可以在应用程序的某个地方使用它们,所以让我们开始吧。我们将设置我们的 Flask 应用程序,我们将从 Flask 模块导入 Flask 类,我们还需要导入请求变量并使用 Flask 类实例化一个对象。

from flask import Flask , request

我们将定义主块,在这个块内,我们将使用 run() 方法来运行我们的应用程序。然后我们将把 debug 等于 True

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

现在我们将创建一个新路由并为此路由调用 params,该函数将命名为 Get_Query_Params()。我们将返回一些字符串以从查询字符串中获取参数。

我们将需要使用 requests 变量,定义两个参数并访问查询参数。要获取它们,我们只需要调用 requests.args,这是一个包含查询字符串中所有参数的字典。

第一个将被称为 VAR1,第二个将被称为 VAR2 并使用 requests.args['key'] 键存储字典值。我们正在返回这些字典项以在页面上显示它们。

@app.route('/params')
def Get_Query_Params():
    VAR1=request.args['var1']
    VAR2=request.args['var2']

    return f'Student name is: {VAR!} and Father nmae is: {VAR2}'

让我们启动服务器,在路由内部传递参数,然后点击 Enter 以查看显示的参数。

Flask 获取查询参数输出 1

现在我们可以看到我们很容易从查询字符串中提取这些值。

我们将再举一个例子来访问所有查询参数。我们将创建一个名为 var1 的变量,它将存储 request.args;这是一个包含我们作为查询参数提供的所有键和值的字典。

现在我们将在字典项上应用一个 for 循环,并能够访问和打印这些键和值。

@app.route('/')
def Get_Query_Params():
    var1=request.args
    for key,value in var1.items():
        print(key,value)

使用这些键,我们还可以使用 if-else 语句访问特定的查询参数,以检查这些实际查询参数是否存在。目前,我们用来访问密钥的方式是使用 var1.get() 而不是使用 request.args['key'] 因为 get() 是帮助我们访问密钥的方法。

 if 'nationality' in var1.keys():
        print(var1.get('nationality'))
    return f'Age is {var1.get("age")} and nationality is {var1.get("nationality")}'

现在我们保存并启动服务器,进入浏览器,并在路由中提供键值对。当我们运行这个页面时,我们可以看到显示的参数,以及我们可以在控制台中看到打印键和值的地方。

Flask 获取查询参数输出 2

这与从表单中获取数据非常相似;如果有人提交表单,我们可以从端点提取它。

完整的 Python 代码:

from flask import Flask , request

app = Flask(__name__)

# @app.route('/params')
# def Get_Query_Params():
#     VAR1=request.args['var1']
#     VAR2=request.args['var2']

#     return f'Student name is: {VAR1} and Father nmae is: {VAR2}'

@app.route('/')
def Get_Query_Params():
    var1=request.args
    for key,value in var1.items():
        print(key,value)
    if 'nationality' in var1.keys():
        print(var1.get('nationality'))
    return f'Age is {var1.get("age")} and nationality is {var1.get("nationality")}'


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

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

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便