python - 如何在 Flask 中使用输入框设置变量
问题描述
我想使用输入框在 Flask 中声明变量。
但是,我收到此错误消息:
werkzeug.exceptions.BadRequestKeyError:400 错误请求:浏览器(或代理)发送了此服务器无法理解的请求。键错误:'column1'
但我清楚地命名了我的输入框......
我的烧瓶代码app.py
:
@app.route('/', methods=['POST', 'GET'])
def get_columns():
col1 = request.form["column1"]
col2 = request.form["column2"]
return col1, col2
def upload_file():
file = request.files['file']
col1,col2 =get_columns()
print("file:",file)
if file.filename == '':
flash('No file selected for uploading','red')
# return redirect(request.url)
return render_template('index.html', disp_div = disp_div)
if file and allowed_file(file.filename):
df=pd.read_csv(file)
output=col1,col2,df["Age"].mean().round(2)
return render_template('index.html', output=output)
# return redirect('/')
else:
flash('Allowed file types are txt, pdf, png, jpg, jpeg, gif', 'red')
# return redirect(request.url)
return render_template('index.html')
我的神社模板index.html
:
...
<tr>
<td><form action="/" method="POST">
<input name="column1" id="column1" placeholder="Spaltenname der XXX">
</form>
</td>
<td><form action="/" method="POST">
<input name="column2" id="column2" placeholder="Spaltenname der YYY">
</form>
</td>
</tr>
....
解决方案
您的 HTML 中有 2 个表单。两人都指向get_columns()
。
但是python代码假设它会同时得到它们(column1 AND column2)。
这是错误的——python 代码将得到 column1 或 column2——而不是两者。
推荐阅读
- http2 - 关于 http/2 的文章中有关双向和全双工的混淆
- java - Cube Root 使用迭代和二分法
- c# - 如何使用 Expression.Constant(object value, Type type)?
- swift - 如何将数据从表格视图单元类传递回带有表格视图的视图控制器?
- javascript - 我尝试数组 OBJECT3D
- c++ - 有符号整数溢出、内在函数和未定义行为
- android - android得到两个jsonArray并膨胀它们
- java - Hibernate 没有插入外键 ManyToOne 实体
- python - 如何从数组中做矩阵
- c# - 当依赖实体只有外键而没有主键时,两个实体之间的 C# EF 关系 0..1-1