gpt4 book ai didi

python - 使用 Python Flask 将数据从 GET 请求传递到 POST 请求

转载 作者:行者123 更新时间:2023-12-01 05:28:57 25 4
gpt4 key购买 nike

我 Flask,我正在构建一个以这种方式构建的小型网络应用程序:

@app.route("myGet/")
def myGet():
mySuperLongString = generateRandomSuperLongString()
return render_template("myTemplate.html",text=mySuperLongString)

@app.route("myPost/")
def myPost():
answer = request.form['answer']
if someCondition(mySuperLongString, answer):
return "you got it!"
else:
return "no, it's wrong"

myTemplate.html 包含:

<form method = post class = solution action={{url_for('myPost')}}>
<dl>
<dt>
<text>{{mySuperLongString}}</text>
<dd><textarea name=answer row=5 col=40></textarea></dd>
<dd><input type=submit value='your answer'></dd>
</dt>
</dl>
</form>

基本上,我不知道这个功能如何myPost可以了解一下mySuperLongString 。我尝试通过在 <text> 中添加名称来将其传递到 myTemplate.html 中字段(将 <text> 替换为 <text name=string> ),但 Python 不允许我访问它。我也不想把 mySuperLongString在与 myPost 关联的 url 中.

那么,有人知道我如何在请求之间传递数据吗?

最佳答案

您可以使用隐藏的表单变量,例如

<input type="hidden" name="superlongstring" value="{{mySuperLongString}}">

但这是一个坏主意,因为聪明的用户可以查看源代码并将该值修改为他们想要的任何值,这可能会破坏您的代码。

更好的想法是将其附加到用户的 session 中,并且方便 Flask provides such a mechanism 。要使用它,请在 myGet() 添加

flask.session['superlongstring'] = mySuperLongString

myPost()中使用检索它

mySuperLongString  = flask.session['superlongstring']

关于python - 使用 Python Flask 将数据从 GET 请求传递到 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20753185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com