我是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中的部分).
所以,args.get()
是方法get()
的MultiDict,其原型如下:
get(key, default=None, type=None)
@martinho作为一个自己使用Flask和Python的新手,我认为之前的答案理所当然地认为你对基础知识有很好的理解.如果您或其他观众不了解基本原理,我会给出更多背景来理解答案......
...... request.args
正在为你带来一个"字典"对象."dictionary"对象类似于Python中的其他集合类型的对象,因为它可以在一个对象中存储许多元素.因此,你的问题的答案
以及需要多少参数
request.args.get()
.
它只需要一个对象,一个"字典"类型的对象(如前面的答案中所述).但是,这个"字典"对象可以根据需要包含多个元素...(字典具有称为Key,Value的成对元素).
除"词典"之外的其他集合类型的对象将是"元组"和"列表"...您可以对这些和"数据结构"运行谷歌搜索,以便学习其他Python基础知识.这个答案是基于Python的; 我不知道这是否同样适用于其他编程语言.