我将数据存储在MongoDB中,并希望根据用户查询获取数据



我将数据存储在MongoDB中,现在我创建了一个flask网页,允许用户提交ID,并根据ID(存储在数据库中(返回该数据。我的要求是,在输入ID并单击提交按钮后,Flask应该显示一条包含数据的消息或提示。我有点被卡住了。下面是代码。

app.py

@app.route('/status', methods = ["GET", "POST"])
def status():

return render_template("status.html")

status.html

<h1 id="title">Check Status</h1>
<div id="form-outer">
<p id="description">
Enter Complaint ID
</p>
<form id="survey-form" method="get">
<div class="rowTab">
<div class="labels">
<label id="name-label" for="name">Enter Complaint ID: </label>
</div>
<div class="rightTab">
<input autofocus type="text" name="id" id="id" class="input-field" placeholder="Enter ID" required>
</div>
</div>

<button id="submit" type="submit">Submit</button>
<button id="reset" type="reset">Reset</button>
</form>
</div>
</body>
</html>

ID已存储在数据库中。简单地说,我希望代码搜索特定的ID并返回该ID的相关数据。我应该如何对状态函数进行编码?

在您的情况下,您必须执行以下操作:
首先,您必须将方法更改为POST,因为您正在发布数据
然后,您需要添加带有要发送数据的url的操作。在您的情况下,它将是status

<h1 id="title">Check Status</h1>
<div id="form-outer">
<p id="description">
Enter Complaint ID
</p>
<form id="survey-form" action="{{ url_for('status')}}" method="POST">
<div class="rowTab">
<div class="labels">
<label id="name-label" for="name">Enter Complaint ID: </label>
</div>
<div class="rightTab">
<input autofocus type="text" name="id" id="id" class="input-field" placeholder="Enter ID" required>
</div>
</div>

<button id="submit" type="submit">Submit</button>
<button id="reset" type="reset">Reset</button>
</form>
</div>
</body>
</html>

在app.py中,您需要从表单中接收var,您需要使用request模块

from flask import request

那么你的功能需要看起来像这个

@app.route('/status', methods=['POST', 'GET'])
def status():
if request.method == 'POST':
your_var = request.form['id']
return render_template('status.html')

希望这能解决你的问题

相关内容

最新更新