我是Flask的新手。我不明白怎么request.args用。我在某处读到它用于返回查询字符串的值[如果我错了,请纠正我]。以及需要多少个参数request.args.get()。我知道当我必须存储提交的表单数据时,我可以使用
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()
args.get()
get()
get(key, default=None, type=None)
更新: 在更新版本的flask(v1.0.x和v1.1.x)中, flask.Request.args它是ImmutableMultiDict(不可变的MultiDict),因此上述原型和特定方法仍然有效。
ImmutableMultiDict