gpt4 book ai didi

javascript - 在 Python/Flask 中返回 javascript 变量

转载 作者:行者123 更新时间:2023-11-27 23:25:57 24 4
gpt4 key购买 nike

我正在开发一个小型 Flask 应用程序,但我无法找到从 Python 访问要打印为 csv 的 javascript 数组的方法。

我的 Flask 文件的一般设置是(我试图在控制台中打印以查看它是否有效,然后我可以稍后将其写为 csv):

from flask import Flask, render_template, request
@app.route('/assemblies', methods=['GET', 'POST'])
def assemblies():
myColours = request.form.get('colours', type=str)
print myColours
return render_template('assemblies.html')
if __name__ == '__main__':
app.run(debug=True)

然后,在我的 html 中有一个下拉选择器:

<select id="Layer1">
<option value="0">Empty</option>
<option value="1">Blue</option>
<option value="2">Red</option>
<option value="3">White</option>
<option value="4">Gray</option>
</select><br>

我像这样访问 Javascript 中的选定值:

function getColours() {
var c = document.getElementById("Layer1");
var colour = c.options[c.selectedIndex].value;
return colour;
}

在 html 中,我使用一个表单来发布结果:

<form method="post">
<button onclick="getColours()" type="submit" value="colour">Click me</button>
</form>

我知道 html 按钮正在发布,但我无法访问 Python 中的结果。我是 Flask 的新手,在其他问题或教程中找不到问题。我们非常欢迎任何帮助。

最佳答案

from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/assemblies')
def assemblies():
mycolours = request.form.get('colours')
return render_template('assemblies.html', mycolours=mycolours)

@app.route('/select')
def select():
return render_template('select.html')
if (__name__ == "__main__"):
app.run(debug=True)

选择.html

<form action="/assemblies" method=['GET', 'POST']>
<select name="colours">
<option value="0">Empty</option>
<option value="1">Blue</option>
<option value="2">Red</option>
<option value="3">White</option>
<option value="4">Gray</option>
</select>
<br>
<input type="submit" value="submit">
</form>

assemblies.html 模板:

<p>{{mycolours}}</p>

mycolours 的输出是您选择的值。例如,如果您选择 empty,它会打印 0,如果您选择 white,它会打印 3

关于javascript - 在 Python/Flask 中返回 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38541744/

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