【发布时间】:2021-12-23 05:00:05
【问题描述】:
我正在用flask和python构建一个网站,我想将用户的输入存储在一个变量中,然后将其输出到网站屏幕上。
这是我的 HTML 代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Home</title>
</head>
<body>
<div><h1>Home Page</h1>
<p>Hello, {{ name }}</p>
</div>
<form>
<label for="fname">Enter Sq. ft.</label><br>
<input type="text" id="estimate" name="estimate" value="Ex. 1000"><br>
<input type="submit" value="Calculate Estimate">
</form>
<a href="/my-link/">Click me</a>
</body>
</html>
这是我的 python/flask 代码:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/my-link/')
def my_link():
temp = 0
for i in range(10):
temp = i
return str(temp)
if __name__ == '__main__':
app.run(debug=True, port=8000)
当我输入 54 并点击“计算估计”时,我不明白为什么我的搜索栏中会出现 http://127.0.0.1:8000/?estimate=54,我不明白它为什么会出现在那里。我怎样才能获得 54 并将其打印在网站屏幕上?
【问题讨论】:
-
表单元素通过查询参数将其值提交给域(如您的案例所示)。默认情况下
form使用GET提交它的请求。如果要禁用提交,请添加onSubmit处理程序并阻止事件传播。您还可以通过这种方式访问您的数据。 -
@Urmzd 默认好像是
request.args吧? -
@collinsmarra 查询参数编码为
request.args。更多信息可以找到here