当前位置: 首页 > 面试题库 >

在Flask中,什么是request.args以及如何使用?

黄靖
2023-03-14
问题内容

我是Flask的新手。我不明白怎么request.args用。我在某处读到它用于返回查询字符串的值[如果我错了,请纠正我]。以及需要多少个参数request.args.get()。我知道当我必须存储提交的表单数据时,我可以使用

fname = request.form.get("firstname")

在此,仅传递一个参数。

考虑下面的代码。分页也已在此代码中完成。

@app.route("/")
def home():
    cnx = db_connect()
    cur = cnx.cursor()
    output = []

    page = request.args.get('page', 1)

    try:
        page = int(page)
        skip = (page-1)*4
    except:
        abort(404)

    stmt_select = "select * from posts limit %s, 4;"
    values=[skip]

    cur.execute(stmt_select,values)
    x=cur.fetchall()

    for row in reversed(x):
        data = {
           "uid":row[0],
           "pid":row[1],
           "subject":row[2],
           "post_content":row[3],
           "date":datetime.fromtimestamp(row[4]),
        }
        output.append(data)

    next = page + 1
    previous = page-1
    if previous<1:
    previous=1
    return render_template("home.html", persons=output, next=next, previous=previous)

在这里,request.args.get()采用两个参数。请解释为什么要使用两个参数以及它的用途。


问题答案:

根据flask.Request.args文件。

flask.Request.args

一个MultiDict,其中包含查询字符串的已解析内容。(URL中问号后的部分)。

因此,MultiDict的args.get()is方法的原型如下:get()

get(key, default=None, type=None)

更新:
在更新版本的flask(v1.0.x和v1.1.x)中, flask.Request.args它是ImmutableMultiDict(不可变的MultiDict),因此上述原型和特定方法仍然有效。



 类似资料:
  • 问题内容: 我已经阅读了很多有关@JoinColumn的内容,但是我仍然不明白它的含义。 患者表 车辆表 患者分类 车辆类别 Vehicle Class ---- Entity @JoinColumn(name=”patient_id”) ---- annotation private Patient patient ----field ``` 会说吗?该车辆实体有一个外键到患者实体命名patie

  • 问题内容: 我参与开发一个Java项目,该项目使用一些C ++组件,因此我需要Jacob.dll。(在Windows 7上) 无论我把Jacob.dll放在哪里,我都在不断获取。 我在寻找可能的决定,而到目前为止尚未尝试的决定是设置LD_LIBRARY_PATH变量,指向.dll文件。 我经验不足,不熟悉该变量的含义和用法-您能帮我吗? 问题答案: 通常,您必须在JVM的命令行上进行设置:

  • 问题内容: 我想创建一个Android应用程序,以作者身份上传我的大学笔记,任何人都可以下载它。我读到firebase可以帮助我解决这个问题。任何人都可以参考一下来解释什么是firebase,以及如何使用它。谢谢! 问题答案: Firebase团队成员在这里。 tl; dr- 阅读此快速入门,观看此视频。使用FirebaseUI。 Firebase是用于移动和Web应用程序的平台。 Firebas

  • 我读了很多关于@JoinColumn的文章,但我仍然不明白它背后的想法。 病人床 车辆表 我一直在读这篇文章,但我仍然感到困惑。JPA JoinColumn与mappedBy

  • 本文向大家介绍什么是#if DEBUG,以及如何在C#中使用它?,包括了什么是#if DEBUG,以及如何在C#中使用它?的使用技巧和注意事项,需要的朋友参考一下 在Visual Studio调试模式和发布模式下,用于构建.Net项目的配置不同。 选择用于逐步调试其.Net项目的“调试”模式,然后为“最终”汇编文件(.dll或.exe)选择“发布”模式。 调试模式不会优化其生成的二进制文件,因为源

  • 问题内容: 经常出现在Python模块中。即使阅读了Python的文档,我也不明白它的用途以及使用时间/方式。 有人可以举例说明吗? 关于我收到的基本用法的一些答案似乎是正确的。 但是,我需要了解有关工作原理的另一件事: 对我来说,最令人困惑的概念是当前的python版本如何包含未来版本的功能,以及如何使用当前版本的Python成功地编译使用未来版本的功能的程序。 我猜想当前版本包含了将来的潜在功